[英]Can't get JavaScript method to validate my HTML form
我正在嘗試使用javascript方法來驗證我的表單,但是它似乎無法正常工作。 即使提交了空表單,也不會彈出對話框警告我任何錯誤。 可能是什么錯誤? (請注意:JS文件有一個為時間戳定義的方法,目前我不在form標記中使用該方法。我還需要一些幫助來調用兩個函數。)
這是代碼:
function setDate() { document.getElementById('date').value = new Date(); } function validateForm() { var a = document.getElementById('name').value; var b = document.getElementById("contact1").value; var blen = b.length; var c = document.getElementById("address1").value; var d = document.getElementById("stblimit").value; var dlen = d.length; var e = document.getElementById("creditlimit").value; var f = document.getElementById("commission").value; var g = document.getElementById("servicecharges").value; //DATE var h = document.forms["addRetailer"]["date"].value; if (a == null || a == "") { alert("Name must be filled out"); return false; } else if (b == null || b == "" || blen == 0 || blen > 10 || blen < 10) { alert("Enter a valid number"); return false; } else if (c == null || c == "") { alert("Primary Address must be filled out"); return false; } else if (d == null || d == "" || dlen == 0 || dlen < 0) { alert("Set Box Top Limit must be filled with a valid number"); return false; } else if (e == null || e == "") { alert("Credit Limit must be filled out"); return false; } else if (f == null || f == "") { alert("Commission Percentage must be filled out"); return false; } else if (g == null || g == "") { alert("Service Charges must be filled out"); return false; } }
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <script src="formvalidation.js" type="text/javascript"></script> <title>Register Retailer</title> </head> <body> <h1>Retailer Information</h1> <form name="addRetailer" action="RetailerController" method="post" onsubmit="return validateForm()"> <table> <tr> <td>Name</td> <td> <input type="text" name="name" id="name"></input> </td> </tr> <tr> <td>Contact Number 1</td> <td> <input type="text" name="contact1" id="contact1"></input> </td> </tr> <tr> <td>Contact Number 2</td> <td> <input type="text" name="contact2" id="contact2"></input> </td> </tr> <tr> <td>Address Line 1</td> <td> <input type="text" name="address1" id="address1"></input> </td> </tr> <tr> <td>Address Line 2</td> <td> <input type="text" name="address2" id="address2"></input> </td> </tr> <tr> <td>City</td> <td> <input type="text" name="city" id="city"></input> </td> </tr> <tr> <td>State</td> <td> <input type="text" name="state" id="state"></input> </td> </tr> <tr> <td>Pin Code</td> <td> <input type="text" name="pin" id="pin"></input> </td> </tr> <tr> <td>Set Top Box Limit</td> <td> <input type="text" name="stblimit" id="stblimit" value="0"></input> </td> </tr> <tr> <td>Credit Limit</td> <td> <input type="text" name="creditlimit" id="creditlimit"></input> </td> </tr> <tr> <td>Commission Percentage</td> <td> <input type="text" name="commission" id="commission" value="0.0"></input> </td> </tr> <tr> <td>Service Charges</td> <td> <input type="text" name="servicecharges" id="servicecharges"></input> </td> </tr> <tr> <td>Date of Registration</td> <td> <input type="text" name="date" id="date"></input> </td> </tr> <tr> <td> </td> <td> <input type="hidden" value="registerCustomer" name="action"></input> <input type="submit" value="Register"></input> </td> </tr> </table> </form> <br> <br>Click <a href="mainPage.html"> Home </a>To Return To The Main Screen </body> </html>
這是我的Eclipse IDE工作區的屏幕截圖。 我的js文件和html文件不在同一子文件夾中,盡管它們位於“網絡內容”下。 這可能是問題嗎?
您可能未正確鏈接JS文件。
查看您的屏幕截圖,我注意到您正在使用Tomcat和Java EE,它們在Web服務器上的目錄遵循Unix樣式的語法。
-Webcontent/
-WEB-INF/
+addRetailer
-JavaScript/
+validateForm.js
因此,您的HTML文件位於Webcontent中的WEB-INF中,而表單驗證程序位於javascript中,也位於webcontent中。
為此,我有三種解決方案:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.