2012-12-19 33 views
2

我有一个表单将数据传递给cc处理终端,以及编写PDF合同和收据。在表单中内置了验证,并且我试图添加一个函数来在通过一次提供的验证之后禁用提交按钮。点击验证后禁用提交按钮?

我不知道了很多关于post数据,但我想确保它:

1. Still posts the data. 2. Still validates. 3. Does not allow the user to submit multiple times.

这里是我的代码块POST:

<form method="POST" action="partner_register_ihg.php" onSubmit="javascript:return WebForm_OnSubmit();" id="docContainer" autoeventwireup="true" enctype="multipart/form-data" novalidate class="fb-toplabel fb-100-item-column fb-large selected-object" style="width: 800px;" data-form="preview"> 

这里是我的提交部分

<input type="submit" name="subbutton" onClick='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("subbutton", "", true, "", "", false, false))' id="subbutton" class="fb-button-special" value="Submit" /> 

这是我的一小部分验证代码

var RequiredFieldValidator30 = document.all ? document.all["RequiredFieldValidator30"] : document.getElementById("RequiredFieldValidator30"); 
RequiredFieldValidator30.controltovalidate = "item56_text_1"; 
RequiredFieldValidator30.errormessage = "Please enter the shipping zip code."; 
RequiredFieldValidator30.display = "None"; 
RequiredFieldValidator30.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid"; 
RequiredFieldValidator30.initialvalue = ""; 
var RequiredFieldValidator31 = document.all ? document.all["RequiredFieldValidator31"] : document.getElementById("RequiredFieldValidator31"); 
RequiredFieldValidator31.controltovalidate = "item62_0_checkbox"; 
RequiredFieldValidator31.errormessage = "Please agree to Terms and Conditions."; 
RequiredFieldValidator31.display = "None"; 
RequiredFieldValidator31.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid"; 
RequiredFieldValidator31.initialvalue = ""; 

var ValidationSummary1 = document.all ? document.all["ValidationSummary1"] : document.getElementById("ValidationSummary1"); 
ValidationSummary1.showmessagebox = "True"; 
ValidationSummary1.showsummary = "False"; 
+0

简单得'的onclick ='this.disabled = TRUE; WebForm_DoPostBackWithOptions(...' –

回答

4

在您提交按钮的代码只需添加JavaScript代码: <input type="submit" [...] id="btn1" onclick="setTimeout(disableFunction, 1);"> 和Javascript中添加功能:

function disableFunction() { 
    document.getElementById("btn1").disabled = 'true'; 
} 
+0

谢谢Disa,我会给你一个镜头,我尝试了一些我发现的其他解决方案,但是我一直在失去验证或实际禁用。 –

+0

好的,所以我得到了语法错误当我将它添加到我的JavaScript中我应该不会把它放在那里? –

+1

也许你把我的功能放在另一个中 – Disa