这是我登录页面的代码:http://pastebin.com/RGVrW0Hi
它是 body
标签正下方的字段。
一路向下都有一个带有我的函数的 scipt 标签。我正在尝试检查用户是否在"Navn"字段中键入了内容,如果没有,它应该返回false
.
我已经在一个较小的页面中尝试过,如下所示:http://pastebin.com/d1vzyDvd
谁能指出我正确的方向?
如果您想按名称获取任何字段,请使用
var value = document.getElementsByName("navn")[0].value;
// By Id
var value = document.getElementsById("navn").value;
使用 document.getElementsByName("navn").value[0]
而不是 document.famular.navn.value
按名称获取输入字段的值。
function validerform125() {
if (document.getElementsByName("navn")[0].value == "") {
alert("NEEEJ!!!");
return false;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<form name="famular" action="vanillahost.html" method="post" onsubmit="return validerform125()">
Navn
<input name="navn" type="text">
<br/>Email
<input name="email" type="email">
<br/>
<div>
<input type="submit" name="send" value="send">
</div>
</form>
将[0]
添加到document.getElementsByName("navn")
是因为getElementsByName
返回一个 NodeList 对象,该对象表示具有指定名称的元素集合(在您的情况下:"Navn"
)。通过添加 [0],您基本上返回找到的第一个元素。
如果你可以在HTML中包含jQuery,那就更好了,会给你一个更好的界面来与HTML元素进行交互。
在java脚本中,您可以尝试以下代码
<body>
<div>
<form name="famular" action="vanillahost.html" method="post" onsubmit="return validerform125()">
Navn <input name="navn" type="text"><br/>
Email <input name="email" type="email"><br/>
<div>
<input type="submit" name="send" value="send">
</div>
</form>
</div>
</body>
<script>
function validerform125() {
var x = document.forms["famular"]["navn"].value;
if (x == null || x == "") {
alert("Name must be filled out");
return false;
}
}
</script>