2016-09-27 94 views
1

我有一个函数,将返回一个警告,如果表格未填写“错误已发生”,如果所有字段都完成,然后警报是“表单提交成功”。我的问题是,如果出现错误,那么警告“发生错误”会触发,当我填写不完整的字段并提交表单时,“错误已经发生”再次触发,因为它已经存在于页面上。我如何忽略已经提醒的当前错误或清除当前错误警报,以便我可以尝试再次验证表单?表单错误与警报验证

任何帮助,非常感谢。

这是一个建在Salesforce Pardot我的形式测试页:http://go.esri.com/l/82202/2016-05-09/2jzdrk

<script> 
function submitVerify() { 
    var formError = document.querySelector("#pardot-form .errors").innerHTML; 

    if (formError === "Please correct the errors below:") { 
     alert("error has occured"); 
    } else { 
     alert("Form submitted successfully"); 
    } 
} 
</script> 
+0

创建一个片段你的验证码,它似乎不正确的方式。 –

+0

执行输入验证的函数应该在开始时清空'.errors' DIV,然后在检测到错误时添加它。 – Barmar

+0

你能提供更多的代码吗?真的很难掌握如此少的代码所发生的事情。 – emiliopedrollo

回答

1

之前警告说有一个错误,空出你的错误领域,如:

<script> 
function submitVerify() { 
    var formError = document.querySelector("#pardot-form .errors").innerHTML; 

    if (formError === "Please correct the errors below:") { 
     alert("error has occured"); 

     // <=== reset error message here 
     document.querySelector("#pardot-form .errors").innerHTML = null; 
    } else { 
     alert("Form submitted successfully"); 
    } 
} 
</script> 
+0

我尝试了重置错误消息,但仍然在重新提交时出现错误警报。作为一种解决办法,当错误得到解决时,我可能会让错误消息消失。 –

+0

你有没有得到“成功提交表单”的警报工作?尝试在你的javascript控制台中输入'document.querySelector(“#pardot-form .errors”)。innerHTML'来查看输出是什么。如果它符合你的第一个条件,那么它会警告发生了错误。尝试在从submitVerify函数返回之前重置该值 –