在POST之前禁用取消按钮

时间:2016-11-26 13:59:50

标签: javascript jquery

点击Submit按钮,我的 JavaScript 代码会执行$.post("Submit.aspx",...,有时需要几秒钟,因此用户可以点击不需要的Back按钮。< / p>

所以我尝试禁用或隐藏“后退”按钮,但它不起作用且仍然可以点击。任何线索?

<input type="submit" value="Submit" class="next" onclick="submitData()" />
<input type="submit" id="btnBack" value="Back" onclick="goBack()" />

function submitData()
{
   // I try to disable or hide Back button but it does not work 
  $('#btnBack').hide();
  $('#btnBack').attr("disabled",true);
  var btnBack= document.getElementById("btnBack").disabled = true;


   // Long request
   $.post("Submit.aspx",..
}

4 个答案:

答案 0 :(得分:2)

您应该使用$(el).prop()来禁用输入。另外,当你使用jQuery时,你不需要在html中添加onclick,你可以像下面的Eg那样:

&#13;
&#13;
$('input[value="Submit"]').on('click', function(e) {
  $('#btnBack').prop("disabled",true);
   //your post request
   //$.post("Submit.aspx",..
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="submit" value="Submit" class="next" />
<input type="submit" id="btnBack" value="Back" onclick="goBack()" />
&#13;
&#13;
&#13;

对于您的代码,它将是:

function submitData() {
    $('#btnBack').prop("disabled",true);
    $.post("Submit.aspx",..
}

答案 1 :(得分:1)

您的代码似乎是正确的。你添加了Jquery吗?

检查一下:

&#13;
&#13;
Date dt0;
&#13;
function submitData(){
   // I try to disable or hide Back button but it does not work 
  $('#btnBack').hide();
  $('#btnBack').attr("disabled",true);
  var btnBack= document.getElementById("btnBack").disabled = true;

}

function goBack(){
  console.log("I'm back");
}
&#13;
&#13;
&#13;

答案 2 :(得分:1)

试试这个;)

aws

只需使用变量并在提交表单之前检查此值,并在ajax请求响应之后重置它的值。顺便说一句,你可以禁用按钮,如果你想这样做。

答案 3 :(得分:0)

NumberFormat

而不是

$("#btnBack").prop('disabled', true);