javascript表单验证不起作用,可以';为什么
所以我有这个html:javascript表单验证不起作用,可以';为什么,javascript,forms,Javascript,Forms,所以我有这个html: <form action="insert.php" method="post" onsubmit="return validateForm(this)"> <label for="FUP start date">FUP start date:</label> <input type="text" name="inputField" id="inputField"/> </br> </br> <
<form action="insert.php" method="post" onsubmit="return validateForm(this)">
<label for="FUP start date">FUP start date:</label>
<input type="text" name="inputField" id="inputField"/>
</br>
</br>
<label for="FUP end date">FUP end date: </label>
<input type="text" name="inputField2" id="inputField2" />
</br>
</br>
<label for="Allowed traffic">Allowed traffic:</label>
<input type="text" name="Allowed_traffic" id="Allowed_traffic"/>
</br>
</br>
<label for="Frequency">Frequency: </label>
<input type="text" name="Frequency" id="Frequency" />
</br>
</br>
<input type="submit" value="submit">
</form>
FUP开始日期:
FUP结束日期:
允许交通量:
频率:
下面是密码的javascript(Parola):
函数validateForm(formElement){
if(formElement.Allowed_traffic.length<5){
警报(“aa请输入至少5个字符长的密码”);
返回false;
}
如果(formElement.Allowed_traffic.length>10){
警报(“请输入长度小于10个字符的密码”);
返回false;
}
}
我做错了什么?我想在提交时检查密码是否在5到10个字符之间。
谢谢大家! 将
.length
替换为.value.length
您当前正在查看
元素本身的length
属性(该属性可能不存在)。您要查看的是
元素的值的length
属性,因此请执行以下操作:
if (formElement.Allowed_traffic.value.length < 5) {
alert('aaaPlease enter a password that is at least 5 characters long');
return false;
}
else if (formElement.Allowed_traffic.value.length > 10) {
alert('Please enter a password that is less than 10 characters long');
return false;
}
if(formElement.Allowed_traffic.value.length<5){
警报(“aa请输入至少5个字符长的密码”);
返回false;
}
否则如果(formElement.Allowed_traffic.value.length>10){
警报(“请输入长度小于10个字符的密码”);
返回false;
}
请注意,我已将其更改为,如果。。。否则,如果
,因为如果第一个条件为真,则第二个条件不能为真。尝试使用
var Allowed_traffic = document.getElementById("Allowed_traffic");
而不是
formElement.Allowed_traffic
从技术上讲,这是不必要的,因为表单提交仅在返回值完全为false和/或调用事件对象的
preventDefault
方法时才会取消。不返回值(返回未定义的)允许继续提交。这实际上不是必需的,因为后者仍然有效。问题在于使用.length
而不是.value.length
。是的,你是对的,但我想document.getElementById(“允许的流量”)
在跨浏览器上比formElement更可靠。Allowed_traffic
的确如此,出于这个原因,我也更喜欢第一个而不是第二个,尽管它更详细。
formElement.Allowed_traffic