The only problem I see but needs testing is what happens to an
existing app that uses the new SQLFORM with the existing
web2py_ajax.html code? Send me a patch and I will try it.

On Mar 23, 12:02 am, Jonathan Lundell <jlund...@pobox.com> wrote:
> 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