Hello Paolo,

So far I have this:

form.add_button(T('Delete'), '#', _class='btn-small btn-danger')
            delete_confirmation = T('Are you sure you want to delete this
record?')
            form.element('input[value='+T('Delete')+']')['_onclick'] = "if
(confirm('%s')) { jQuery('input[type=checkbox].delete').attr('checked',
'checked'); jQuery('form').submit(); }" % delete_confirmation

That work just fine, but I would avoid to show the checkbox check to
delete...

I will read carfully what you propose.

Thanks

Richard

On Tue, Nov 13, 2012 at 4:53 PM, Paolo Caruccio
<[email protected]>wrote:

> a possible solution
>
> # controller
> def update_record():
>      form = crud.update(db.table, request.args(0))
>
>      delete_confirmation = T('Are you sure you want to delete this
> record?')
>
>      delBtn = A('Delete', _href=URL('delete_record',
>                                     args=['table', request.args(0)]),
>                           _message=delete_confirmation,
>                           _class='btn btn-small btn-danger',
>                           _id='delBtn'
>                           )
>      form.element('input', _type='submit', replace=lambda me: CAT(me,delBtn
> ))
>      return dict(form=form)
>
> def delete_record():
>     tablename = request.args(0)
>     rec_id = request.args(1)
>     crud.delete(db[tablename], rec_id,
>                                next=URL('select_table'), message=T(
> 'Deleted'))
>
>
> # view: 'update_record.html'
>
>
> {{extend 'layout.html'}}
>
>
> {{=form}}
>
>
> <script type="text/javascript">
>  $(document).ready(function() {
>  $('#delBtn').click(function(e) {
>  e.preventDefault();
>  btn = $(this);
>  thisHref = btn.attr('href');
>  msg = btn.attr('message');
>  if(confirm(msg)){
>  window.location = thisHref;
>  }
>  });
>  })
> </script>
>
>
> Il giorno martedì 13 novembre 2012 21:26:08 UTC+1, Richard ha scritto:
>
>> Hello,
>>
>> I would like to replace the way web2py allow the deletion of a record.
>> Instead of the check to delete then confirm then submit... I would add a
>> delete buttton on which is attached a confirmation message onclick then
>> when the confirmation is confirmed the record is deleted.
>>
>> Actually I had this :
>>
>>             form = crud.update(db.table, record)
>>             form.add_button(T('Delete'), '#', _class='btn-small
>> btn-danger')
>>             delete_confirmation = T('Are you sure you want to delete this
>> record?')
>>             try:
>>                 form.element('input[value='+T(**'Delete')+']')['_onclick']
>> = "return confirm ('%s')" % delete_confirmation
>>             except:
>>                 pass
>>
>> What I miss is how to actually set form.deleted=true as said in the book (
>> http://web2py.com/books/**default/chapter/29/07#SQLFORM-**
>> and-insert/update/delete<http://web2py.com/books/default/chapter/29/07#SQLFORM-and-insert/update/delete>
>> )...
>>
>> I think I need a bit of JS, that detect the confirmation and will submit
>> the form.
>>
>> Am I on the right track?
>>
>> Richard
>>
>>
>>  --
>
>
>
>

-- 



Reply via email to