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.