簡體   English   中英

無法讓輸入驗證 Javascript 工作

[英]Can't get input validation Javascript to work

如果這個問題沒有正確布置(我第一次使用堆棧溢出),我深表歉意。 我試圖驗證我在表單上的輸入是否在用戶按下提交時填寫,它會在輸入為空時提醒用戶,但當輸入為空時也會提醒用戶,我不確定出了什么問題。 這是我的Javascript:

<script>
   function validation() {
     var x = document.forms["bookingForm"]["id"].value;
     if (x == "") {
       alert("Ensure all fileds are filled");
       return false;
     } else {
       sendSMS();
       alert("Success");
       return true;
     }
      }
</script>

這是代碼擴展部分的鏈接以供參考: https : //pastebin.com/Dj5fA3gB

如果您使用 submitButton 並且您在表單的 onSubmit 上調用驗證,那么您需要調用 event.preventDefault();

 <!DOCTYPE html> <html> <body> <form onsubmit="validation()" name="bookingForm"> First Name: <input type="text" name="id" value="Donald"><br> Last Name: <input type="text" name="lname" value="Duck"> <input type="submit" value="Submit" /> </form> <script> function validation() { event.preventDefault(); var x = document.forms["bookingForm"]["id"].value; if (x == "") { alert("Ensure all fileds are filled"); return false; } else { sendSMS(); alert("Success"); return true; } } </script> </body> </html>

訪問表單元素和元素值的一般語法是:

document.forms[number].elements[number]


document.forms[number].elements[number].value

正如我在評論中所建議的,最干凈的解決方案是使用所需的 html 屬性,將其添加到您的輸入中。

看起來像這樣。

 <form> <input type="text" name="example" required> <input type="submit" name="send"> </form>

最大的優點是它不需要任何額外的 JS 就可以工作,這在我看來總是首選的解決方案。

您沒有在 form 標簽中包含 return 關鍵字並在 form 標簽中添加不必要的關鍵字“name”。

<form onsubmit="return validation()" method="POST"
                    action="">

從表單標記中刪除“名稱”屬性並添加操作屬性。 在 action 屬性的括號內,提及如果驗證成功會發生什么:(此代碼可幫助您理解“action”屬性)

<form onsubmit="return productsvalidationform();" method="POST"
                    action="AddProductServlet">

當表單被成功驗證時,我定向到 AddProductServlet。(AddProductServlet 是 JSP servlet)。 所以提到你需要重定向的地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM