Javascript 使用Jquery第一次单击时禁用提交按钮
我目前有一个lightbox弹出窗口连接到提交按钮,该按钮仅在第一次单击提交按钮时显示。基本上,在某人提交表单之前,我们希望他们在点击提交按钮时看到这个弹出窗口。这一切都很好,但现在我需要让它在第一次点击时,表单不会提交/处理。但是,在第一次单击之后,需要启用submit按钮,以便提交表单 您知道如何将下面的代码更改为“提交”按钮仅在第一次单击“提交”按钮时才处理表单吗Javascript 使用Jquery第一次单击时禁用提交按钮,javascript,jquery,forms,submit-button,Javascript,Jquery,Forms,Submit Button,我目前有一个lightbox弹出窗口连接到提交按钮,该按钮仅在第一次单击提交按钮时显示。基本上,在某人提交表单之前,我们希望他们在点击提交按钮时看到这个弹出窗口。这一切都很好,但现在我需要让它在第一次点击时,表单不会提交/处理。但是,在第一次单击之后,需要启用submit按钮,以便提交表单 您知道如何将下面的代码更改为“提交”按钮仅在第一次单击“提交”按钮时才处理表单吗 <script type="text/javascript"> $('#Submitbutton')
<script type="text/javascript">
$('#Submitbutton').one("click",function(e) {
$('#lp').lightbox_me({
centered: true,
overlayCSS:{background: '#481d33', opacity: .45},
overlaySpeed:0,
lightboxSpeed:0
});
});
</script>
$(“#提交按钮”)。一(“单击”,函数(e){
$('lp')。灯箱({
对,,
覆盖层:{背景:'#481d33',不透明度:.45},
超高速:0,
lightboxSpeed:0
});
});
您可以使用计数器确定点击次数:
var count = 0;
$('#Submitbutton').click(function(e) {
count++;
if(count==1)
return;//return if clicked first time
$('#lp').lightbox_me({centered: true,overlayCSS:{background: '#481d33', opacity: .45},overlaySpeed:0,lightboxSpeed:0});
});
只需返回false就可以了。 或者,e.perventDefault()可能有助于事件冒泡
$('#Submitbutton').one("click",function(e) {
$('#lp').lightbox_me({
centered: true,
overlayCSS:{background: '#481d33', opacity: .45},
overlaySpeed:0,
lightboxSpeed:0
});
e.perventDefault();
return false;
});
在第一次提交时设置一个变量,然后在第二次提交时由于该变量而执行不同的操作
编辑:一致的引号和代码清理。从.one()
更改.on()
。您可以声明一个变量来跟踪按钮是否被单击
var isAlreadytClicked = false;
$('#Submitbutton').on("click", function (e) {
if (isAlreadytClicked == false) {
isAlreadytClicked = true;
return;
}
if (isAlreadytClicked) {
//Do whatever you want on subsequent click
}
});
添加行
$('SubmitBtn').attr('disabled',false)代码>
在if块内。您的代码将不起作用,因为您只听了一次单击。谢谢,我忘记了一次,只是将其更改为on:d这是最好的答案。它使用bool(小内存占用),它覆盖了您的lightbox代码,而且速度很快。我要做的唯一改进是,如果您使用表单元素绑定来提交表单,而不是单击提交。one()应该在显示更多示例代码后运行函数吗?或表达细节。
var isAlreadytClicked = false;
$('#Submitbutton').on("click", function (e) {
if (isAlreadytClicked == false) {
isAlreadytClicked = true;
return;
}
if (isAlreadytClicked) {
//Do whatever you want on subsequent click
}
});
<input type="button" id="SubmitBtn" value="Submit" onclick="return submitData();" disabled="disabled" >
//create a global variable for clicked or not
var submitBtnClicked = false;
function submitData()
{
if(submitBtnClicked )
{
$('#SubmitBtn').attr('disabled',false);
submitBtnClicked =true;
}
}