3

cc処理端末にデータを渡したり、PDFの契約書や領収書を書いたりするフォームがあります。フォームには検証が組み込まれており、検証に合格した場合にワンクリックで送信ボタンを無効にする関数を追加しようとしています。

投稿データについてはよくわかりませんが、次のことを確認したいと思います。

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";
4

3 に答える 3

6

送信ボタンのコードに javascript コードを追加するだけです: <input type="submit" [...] id="btn1" onclick="setTimeout(disableFunction, 1);"> Javascript に関数を追加します:

function disableFunction() {
    document.getElementById("btn1").disabled = 'true';
}
于 2012-12-19T19:04:59.823 に答える