At the moment, there's a delete-confirmation checkbox that's turned on when an 
SQLFORM is 'deletable'. It's a simple checkbox with class='delete', along with 
this bit of code in web2py_ajax.html:

  
jQuery("input[type='checkbox'].delete").each(function(){jQuery(this).click(function()
 { if(this.checked) if(!confirm("{{=T('Sure you want to delete this 
object?')}}")) this.checked=false; });});

It presents the user with a dialog, and if the use doesn't OK the dialog, the 
box isn't checked and no delete occurs on submit.

This logic serves at least two purposes. One, it's a workaround for the problem 
that having multiple submit buttons is problematical with IE. Two, it forces 
the user to take three actions to delete a record: check the box, confirm the 
deletion, and click submit.

I have to alternative suggestions.

One is to move the above jQuery logic into a simple 'onclick' attached to the 
checkbox by SQLFORM. This gets rid of the jQuery requirement (with no loss of 
functionality), but more important it allows us to have an option to 
SQLFORM.__init__() to override the text associated with the confirmation. 'Sure 
you want to delete this object?' is somewhat idiosyncratic English to begin 
with, but the main problem is that usually we'd like to be more specific than 
"this object". Depending on the record, we might say "this item" or "this item 
in your cart" or "this user" or any number of things. 

I see no downside to this. It's compatible, and the default action is identical 
to the current mechanism.


Alternative: change the delete checkbox to a 'button' element labeled 'Delete'. 
Use onclick to attach a confirmation dialog to the button. If the user 
confirms, do a submit of the form, but set a hidden variable in the form to 
communicate the delete action to accepts. This avoids the IE problem (there's 
only one submit button).

Downsides: the UI changes a checkbox to a Delete button, and JavaScript is 
required to do a delete at all.

-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web...@googlegroups.com.
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.

Reply via email to