使用javascript验证表单后,我无法将其提交到服务器
myForm.addEventListener("submit", validation);
function validation(e) {
let data = {};
e.preventDefault();
errors.forEach(function(item) {
item.classList.add("cart__hide");
});
在验证结束时,我有以下代码
if (!error) {
myForm.submit();
}
我也尝试过
if (error = false) {
myForm.submit();
}
if ((error == false)) {
myForm.submit();
}
当我处理日志错误时,我得到了所有false
,因此应该提交表单。
我收到以下控制台日志错误
TypeError:myForm.submit不是函数
我在html页面上做了同样的验证,并且效果很好。现在,我试图使其在PHP页面上运行,并且不会提交。
我不确定为什么myForm.submit()
会导致错误。
谢谢
乔恩
答案 0 :(得分:2)
从您的代码中删除e.preventDefault();
并将其放在您的验证函数中,如下所示:
if (error) {
e.preventDefault();
}
答案 1 :(得分:2)
您需要做的是仅在发生错误时调用Event#preventDefault
。
myForm.addEventListener("submit", validation);
function validation(e) {
var error = !form.checkValidity(); // replace this with the actual validation
if (error) e.preventDefault();
}
<form>
<input type="text">
<input type="submit" value="submit">
</form>