【发布时间】:2015-02-05 19:21:08
【问题描述】:
几秒钟前,它还在工作,我没有改变任何东西。我的网络应用程序是一个简单的网络应用程序。 Javascript 在将表单重定向到 servlet 之前负责表单验证。我做错了什么?
表单验证未验证。我是一个新手程序员,所以请帮忙。
// form-validation (javascript)
function validateForm() {
var firstname = document.forms["myForm"]["förnamn"].value;
var lastname = document.forms["myForm"]["efternamn"].value;
var address = document.forms["myForm"]["address"].value;
var email = document.forms["myForm"]["email"].value;
var news = document.forms["myForm"]["news"].value;
if (firstname == null || firstname == "") {
alert("Var god och fyll i alla fält!");
return false;
} else if (lastname == null || lastname == "") {
alert("Var god och fyll i alla fält!");
return false;
} else if (address == null || address == "") {
alert("Var god och fyll i alla fält!");
return false;
} else if (email == null || email == "") {
alert("Var god och fyll i alla fält!");
return false;
} else if (email.indexOf("@hotmail.com") === -1) {
alert("Skriv in en korrekt mail-address. exempel@hotmail.com");
return false
}
}
//]]>
</script>
</head>
<body>
<fieldset style="width: 450px; padding: 20px">
<div id="page">
<div id="header">
<h1>Abdi Tem</h1>
<h2>Welcome to my website</h2>
</div>
<div id="bar">
<div class="link">
<a href="Hem.html">Hem</a>
</div>
<div class="link">
<a href="CV.html">INFO</a>
</div>
<div class="link">
<a href="Kontakt.html">Ḱontakt</a>
</div>
</div>
</div>
<h1>Hyr en programmerare:</h1>
<form name="myForm" action="ServletProjekt"
onsubmit="return validateForm()" method="post" id="myForm">
<table>
<tr>
<td>Ditt namn:</td>
<td><input type="text" name="fornamn" /></td>
</tr>
<tr>
<td>Ditt efternamn:</td>
<td><input type="text" name="efternamn" /></td>
</tr>
<tr>
<td>Din adress:</td>
<td><input type="text" name="address" /></td>
</tr>
<tr>
<td>Din email:</td>
<td><input type="text" name="email" /></td>
</tr>
<tr>
<td>Är ditt ärende akut?</td>
<td><input type="radio" name="howoften" value="often"
checked="checked" />JA <input type="radio" name="howoften"
value="not often" />NEJ</td>
</tr>
<tr>
<td>Vad vill du ha hjälp med?</td>
<td><input type="checkbox" name="news" value="Java"
checked="checked" />Programmering <input type="checkbox"
name="news" value="C" />Felsökning/Debugging</td>
</tr>
<tr>
<td>Hur många timmar kommer ditt ärende att ta?</td>
<td><select name="age">
<option>10-20h</option>
<option>30-40h</option>
<option>50-60h</option>
<option>70h+</option>
</select></td>
</tr>
</table>
<hr />
<input type="submit" name="submit" value="Beställ" />
</form>
</fieldset>
</body>
</html>
【问题讨论】:
-
使用 Firefox 和 Web 开发人员工具查看它,以便您可以调试和单步执行 Javascript 并查找错误。
-
您能否澄清“表单验证未验证”的含义?输入错误信息时是否发布?浏览器是否向您抛出错误?究竟是什么没有验证?
-
@KHeaney 它应该在字段为空时发出警报,几分钟前它就这样做了。
-
发生了什么?表单操作仍在处理中吗?提交时没有发生任何事情吗?浏览器开发人员工具是否在发布时显示 javascript 错误?此外,您似乎在最后一个返回语句中缺少分号
标签: java javascript forms servlets