我正在处理这个验证脚本,但不明白为什么我遇到了问题。
你可以看到我有一个 check = false/true,在运行 ajax 调用之前进行检查。
但是,即使字段为空并且 check 设置为 false,它仍然会运行调用。
所以:
// JavaScript - Update Password AJAX
$(document).ready(function () {
// When the form is submitted
$('.updatepasswordform').submit(function () {
var check = true;
// Get the values
var password1 = $("input[name=password1]").val();
var password2 = $("input[name=password2]").val();
var newpassword = $("input[name=newpassword]").val();
/* Password Validation */
// If fields are empty
if (password1 === '') {
check = false;
$("input[name=password1]").css('border', 'solid 2px red');
}
// If fields are empty
if (password2 === '') {
check = false;
$("input[name=password2]").css('border', 'solid 2px red');
}
// If fields are empty
if (newpassword === '') {
check = false;
$("input[name=newpassword]").css('border', 'solid 2px red');
}
if (check = true) {
$.ajax({
type: "POST",
url: "process/updatepassword.php",
data: $(".updatepasswordform").serialize(),
dataType: "json",
success: function (response) {
/* Checks for database validation, removed for space saving */
}
});
}
return false;
});
});
最佳答案
if (check = true)
是赋值。你需要一张支票。
if (check == true) {
或者正如 JasonP 提到的,只是
if (check) {
关于javascript - 为什么会进行这个 ajax 调用,尽管它不应该被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19694421/