私はこの検証スクリプトに取り組んでいますが、なぜ私が問題を抱えているのかわかりません。
ajax 呼び出しを実行する前に、check = false / true、check があることがわかります。
ただし、フィールドが空で、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;
});
});