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;
}
});