我必須在HTML表單中進行一些驗證。我不明白爲什麼當這兩個條件之一是錯誤的時候提交表單。 '主' 的功能是這樣的:爲什麼在條件爲false時提交表單?
var marc = false;
var dnif = false;
window.addEventListener('submit', function() {
marc = marcado();
dnif = nif();
if(marc && dnif){
document.getElementById("formm").submit();
}
}, false);
的方法有這些:
function nif() {
var campo = document.getElementById("dni_id");
var dni = campo.value;
numero = dni.substr(0, dni.length - 1);
let = dni.substr(dni.length - 1, 1);
numero = numero % 23;
letra = 'TRWAGMYFPDXBNJZSQVHLCKET';
letra = letra.substring(numero, numero + 1);
if (letra !== let) {
alert('El formato del DNI introducido no es el correcto');
document.form.dni_id.focus();
return false;
} else {
return true;
}
function marcado() {
if (document.form.terminado.checked) {
return true;
} else {
alert("Debes aceptar los términos y condiciones");
document.form.terminado.focus();
return false;
}
}
的功能是確定。當我用控制檯試用它們時,它們工作正常。 然後我執行該頁面,出現「警報」並且返回錯誤,但表單提交。
有什麼想法?謝謝您的幫助。
你需要用'event.preventDefault()' –