jQuery - 在提交表单之前询问用户

时间:2011-01-16 18:22:48

标签: jquery forms submit

我有一个带有2个提交按钮的表单。

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

我想问用户,他是否真的要删除该项目。我知道可以通过将删除按钮设为链接来完成,但我真的需要这样做。

谢谢你的时间,迈克。

2 个答案:

答案 0 :(得分:6)

应该是这样的:

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

从事件处理程序返回false,它将触发event.preventDefaultevent.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 :(得分:1)

$('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
    }
});