我試圖提交一個HTML表單,只有當所有字段都不在Javascript代碼中返回false時。重複檢查表單數據而不提交(JavaScript,HTML,JQuery)
我的HTML看起來像這樣,爲了簡單起見,我剛纔不停的姓名和電子郵件
<form method="post" action="RegistrationServlet" class="iform"
onsubmit="return sendForm();">
<ul><li><label for="YourName">*Your Name <span id="regNameErr"></span></label>
<input class="itext" type="text" name="YourName" id="YourName" /></li>
<li><br /><label for="YourEmail">*Your Email <span id="regEmailErr"></span></label>
<input class="itext" type="text" name="YourEmail" id="YourEmail" /></li>
<li><input type="submit" value="Submit" class="ibutton" name="SendaMessage"
id="SendaMessage" value="Send a Message!" readonly="readonly" /></li></ul></form>
的JavaScript看起來像這樣,爲簡便起見,我只檢查2個字段:
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script type="text/javascript">
window.sendForm = function() {
if (($("#YourName").val() == "") || ($("#YourName").val().length > 55)) {
$("#YourName").addClass("required");
window.scroll(0, 190);
$("#regNameErr").text("required");
return false;
}
if ($("#YourEmail").val() == "") {
$("#YourEmail").addClass("required");
window.scroll(0, 190);
$("#regEmailErr").text("required");
return false;
}
if (!isEmailValid($("#YourEmail").val())) {
$("#YourEmail").addClass("required");
window.scroll(0, 190);
$("#regEmailErr").text("required");
return false;
}
$("#SendaMessage").val("Please Wait...");
return true;
}
爲什麼sendForm()函數在提交之前不會被重複調用以檢查所有字段是否正確。有任何想法嗎?
另外我明白,我可以在2天后添加賞金,但我沒有在編輯器上看到任何按鈕。
你能幫忙嗎?
所以你說,一旦你提交它不斷嘗試提交一遍又一遍? – epascarello
否如果他們提交的字段不正確,則應該重複,直到所有字段重新更正並提交。謝謝 – Alex
爲了澄清,你是否在尋找sendForm()函數來重複運行?此外,源代碼中缺少isEmailValid(...)函數。這是打算?我問,因爲如果它也從你的代碼中丟失,那麼對該函數的調用將失敗並且表單將被提交。 –