jQuery - спросите пользователя перед отправкой формы - PullRequest
4 голосов
/ 16 января 2011

У меня есть форма с 2 кнопками отправки.

<input type='submit' name='submit-form' value='Send' />
<input type='submit' class='delete' name='delete' value='Delete' />

И я хочу спросить пользователя, действительно ли он хочет удалить элемент.Я знаю, что это можно сделать, сделав ссылку на кнопку удаления, но мне действительно нужно сделать это следующим образом.

Спасибо за ваше время, Майк.

Ответы [ 2 ]

6 голосов
/ 16 января 2011

Должно выглядеть так:

$('input.delete').bind('click', function() {
    if(!confirm('are you sure') )
        return false;
});

, возвращая false из обработчика событий, это вызовет event.preventDefault и event.stopPropagation.

По отношению к вашему комментарию,Я бы пошел по этому пути, чтобы иметь разные строки для разных входов:

$('input').bind('click', function(e) {
    var msg;

    switch(e.className)  {
         case 'foobar': msg = 'Foo foo foo!?'; break;
         case 'yay': msg = 'yay yay yay!?'; break;
         // etc
         default: msg = 'are you sure?';
    }

    if(!confirm(msg) )
        return false;
});

Демо: http://www.jsfiddle.net/ks9Ak/

1 голос
/ 16 января 2011
$('input.delete').click(function(e){
    e.preventDefault();
    var action = confirm('do you want to delete the item?');
    if(action){
        //delete the item the way you want
    }
});
...