我一直在设置文件以向自己演示表单验证。但是我发现脚本没有检查名称字段是否有效,有人可以告诉我哪里出错了吗?
<!DOCTYPE html>
<html>
<head>
<script>
function kValForm() {
var n = document.forms["kForm"]["kName"].value;
...
if( n == null || n == " " || n ="") {
alert("Please fill in your name.");
return false;
}
...
}
</script>
</head>
<body>
<form name="kForm" onsubmit="kValForm()">
Name: <input type="text" name="kName" placeholder="Khalifa">
<br/>
...
<br/>
<input type="submit">
</form>
</body>
</html>
省略号被删除了不相关的代码,占用了大量空间。但上面的代码即使它是空的也会发送名称形式,为什么?
答案 0 :(得分:0)
你的if(缺少==
)
if( n == null || n == " " || n ="") {
if( n == null || n == " " || n =="") {
答案 1 :(得分:0)
您的表单提交是因为您必须更改您的onsubmit:
<form name="kForm" onsubmit="return kValForm()">
这会提示。
以下是修改过的示例的链接,可以正确显示警告:http://jsfiddle.net/bmartinelle/dyL4j49j/
(注意:你也需要解决你的字符串比较问题 - &#34; ==&#34;而不只是一个&#34; =&#34;
编辑: 如上所述@Ramachandran Krishnan你可以更有效地检查一个空字符串,详见stackoverflow帖子:How do you check for an empty string in JavaScript?
(注意:只是(n)不起作用)
答案 2 :(得分:0)
请替换它
onsubmit="kValForm()"
通过
onsubmit="return kValForm(this);