HTML:
<form method="post" name="contact" id="frmContact" action="smail.php">
...
<label for="security" class="smallPercPadTop">Please enter the result:</label> <br /><h3 id="fNum" class="spnSecurity"></h3><h3 id="nCalcType" class="spnSecurity"></h3><h3 id="sNum" class="spnSecurity"></h3> = <input type="text" placeholder="Enter the result" name="security" id="security" class="required input_field_custom" />
<br /><br />
<input type="submit" value="Send" id="submit" name="submit" class="submit_btn" />
<input type="reset" value="Reset" id="reset" name="reset" class="submit_btn" />
</form>
脚本:
$('form').on('submit', function(e) {
e.preventDefault();
var vGetResult = $("#security").val();
if (vGetResult == vResult) { //""vResult"" is a value that I set when the page loads...
alert("good");
$("#frmContact").submit();
}
});
我想要做的是,一旦我验证用户输入的内容与另一个号码相同,那么我想提交表单。我没有提交表格,而是无限地收到提醒声明。
我该如何解决?
答案 0 :(得分:4)
验证条件失败时,将$("#frmContact").submit()
移至else块。您也无需使用$('form').on('submit', function(e) {
var vGetResult = $("#security").val();
if (vGetResult == vResult) { //""vResult"" is a value that I set when the page loads...
alert("good");
//$("#frmContact").submit();
}else{
e.preventDefault();
}
});
$('form').on('submit', function(e) {
var vGetResult = $("#security").val();
if (vGetResult !== vResult) { //""vResult"" is a value that I set when the page loads...
e.preventDefault();
}
alert("good");
});
或者,您只需将语句修改为
var testamber = function(){
var ambersands = ["&", "&&", "&&&", "&&", "&",]
var text = "";
var i;
for (i = 0; i < ambersands.length; i++) {
text += ambersands[i] + "<br>";
}
document.getElementById("output").innerHTML = text;
};
答案 1 :(得分:2)
你的表格无限循环。试试这个简单的代码。
$('form').on('submit', function(e) {
var vGetResult = $("#security").val();
if (vGetResult != vResult)
{
e.preventDefault();
}
});
答案 2 :(得分:1)
返回true
以允许表单提交或false
压制:
$('#frmContact').on('submit', function(e) {
if ($("#security").val() == vResult) {
alert("good");
return true;
} else {
return false;
}
});
或者,如果不需要警报:
$('#frmContact').on('submit', function(e) {
return $("#security").val() == vResult;
});
答案 3 :(得分:1)
您可以阻止jQuery事件...并触发本机事件
只需更改
$("#frmContact").submit();
要
$("#frmContact")[0].submit();