Javascript 询问用户是否确定,然后禁用按钮并提交表单

Javascript 询问用户是否确定,然后禁用按钮并提交表单,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,单击表单提交按钮时,我会询问用户“确定吗?”: {{ Form::open(array('url' => 'myhome/pic-remove', 'onsubmit' => 'return confirm(\'Are you sure?\');')) }} 我在单击时停用提交按钮: $('#submitbutton').click(function() { $('#submitbutton').hide(); $('#isloading').show(); }

单击表单提交按钮时,我会询问用户“确定吗?”:

{{ Form::open(array('url' => 'myhome/pic-remove', 'onsubmit' => 'return confirm(\'Are you sure?\');')) }}
我在单击时停用提交按钮:

$('#submitbutton').click(function() {
    $('#submitbutton').hide();
    $('#isloading').show();  
});
问题是,如果用户“不确定”并单击“取消”,提交按钮也会被禁用

仅当用户对第一个问题“确定”并单击“确定”时,如何停用“提交”按钮

编辑:

好的,我现在有这样的,似乎有效

$('#submitbuttonconfirm').click(function() {
    var r = confirm('Are you sure?');
    if (r == true)
    {
        $('#submitbuttonconfirm').hide();
        $('#isloading').show();
        return true;
    }
    else
    {
        return false;
    }      
});

我假设最上面的部分是将要执行的JavaScript从服务器发送到客户端。我不知道你为什么要这样做,而不是直接用JavaScript编写,但我想这并不重要。正如Givi所说,从确认对话框中获取响应,然后将其用作决策点。因为我不确定这是什么,我只是猜测这段代码,但它应该会给你一个想法

{
    { Form::open(
        array(
            'url' => 'myhome/pic-remove',
            'onsubmit' => 'if(confirm(\'Are you sure?\')){ $(\'#submitbutton\').hide(); $(\'#isloading\').show(); return true; } return false; '
        )
    ) }
}

我认为问题在于,
click
事件是在
submit
事件之前触发的,因此您在询问用户之前隐藏了submit按钮

您可以使用jQuery来处理
submit
事件,而不是使用
click
并禁用那里的按钮:

{{Form::open(数组('url'=>'myhome/pic remove'))}

从confirm获取返回的布尔值,然后将代码放入if语句中。是否需要这样做?我想它代表“事件”,但它在做什么?不,对不起。这是没有必要的。您是对的,它是事件对象。通常,您应该使用e.preventDefault()来防止执行默认事件(提交表单)。然而,我认为一些旧的浏览器可能不支持它。有关更好的解释,请参见此处:
$('form').submit(function(e) { // Use the id of the form here, if you have more than one
    if(confirm('Are you sure?')) {
        $('#submitbutton').hide();
        $('#isloading').show();
    } else {
        return false;
    }
});