2016-09-27 95 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函數返回之前重置該值 –