我试图查看文本字段长度是否至少为一定长度。这是我的代码:
<form name="form2" id="form2" onsubmit="return validate()">
length 4: <input type="text" name = "t" id="t" />
<input type="button" name="submit" value="submit" />
</form>
<script>
function validate() {
document.write("good");
submitFlag = true;
if(document.form2.t.value.length!=4){
submitFlag=false;
alert("ivalid length - 4 characters needed!");
}
return submitFlag;
}
</script>
当我点击提交时,没有任何反应。
答案 0 :(得分:5)
将提交按钮更改为type =“submit”。表单永远不会被提交,因此不会调用validate函数。
答案 1 :(得分:1)
输入类型需要“提交”
<form name="form2" id="form2" onsubmit="return validate()">
length 4: <input type="text" name = "t" id="t" />
<input type="submit" name="submit" value="submit" /> <!--INPUT TYPE MUST BE SUBMIT -->
</form>
<script>
function validate() {
document.write("good");
submitFlag = true;
if(document.form2.t.value.length!=4){
submitFlag=false;
alert("ivalid length - 4 characters needed!");
}
return submitFlag;
}
</script>
答案 2 :(得分:0)
如果你想要“至少一定的长度”,你可能想要大于或等于(&gt; =),而不是不等于(!=)
答案 3 :(得分:0)
您的按钮应为
<input type="submit" name="submit" value="submit" />
否则不会发生onsubmit
事件。另外,使用console.log()
进行调试,而不是document.write()
。
答案 4 :(得分:0)
我发现了各种错误:
document.write()
,它会覆盖当前打开的文档form2
不属于document
。您可以使用document.forms.form2
,但document.getElementById("t")
更简单<button type="submit">
或<input type="submit" />
pattern=".{4}"
或为其指定required
属性答案 5 :(得分:0)
你有几个问题。 1)您需要将输入设置为提交按钮,2)您需要删除document.write()
声明。将您的代码更改为以下(or see this jsFiddle):
<form name="form2" id="form2" onsubmit="return validate()">
length 4: <input type="text" name = "t" id="t" />
<input type="submit" name="submit" value="submit" />
</form>
<script>
function validate() {
submitFlag = true;
if(document.form2.t.value.length!=4){
submitFlag=false;
alert("ivalid length - 4 characters needed!");
}
return submitFlag;
}
</script>
你非常接近,但你可以对该代码进行一些清理(注意:我没有提供任何代码)。
答案 6 :(得分:0)
您还应该为文本输入添加maxlength属性,它将帮助用户。
<form name="form2" id="form2" onsubmit="return validate();">
<input type="text" name="t" id="t" maxlength="4"/>
<input type="submit" name="submit" value="submit"/>
</form>
<script type="text/javascript">
function validate()
{
if ( document.getElementById("t").value.length != 4 )
{
alert( "Invalid length, must be 4 characters" );
return false;
}
return true;
}
</script>