如果用户在文本框中输入少于4个字母,我想显示错误。 这是我现在正在使用的代码,它有点工作。问题是 - 它显示错误,然后它也提交了值。
如果用户输入少于4个字母,我想停止提交。
的JavaScript
<script type="text/javascript">
function check(what)
{
var length=what.search_text.value.length;
if (length >3 && length < 21)
what.submit();
else
alert("Your nick should be 4-20 characters long.");
}
</script>
HTML
<form method=post action=''><input type=hidden name=todo value=search>
<p align=center>
Enter Your Name:
<input type=text name=search_text value='$search_text'>
<input onclick=check(this.form); return false; type=submit value=Search>
</p>
</form>
答案 0 :(得分:0)
如果值无效,则需要
return false;
以便取消表单提交
答案 1 :(得分:0)
<script type="text/javascript">
function check(what)
{
var length=what.search_text.value.length;
if (length >3 && length < 21){
what.submit();
}
else {
alert("Your nick should be 4-20 characters long.");
return false;
}
}
</script>
<?php
echo "<form method='post' action='' onsubmit='return check(this);'><input type=hidden name=todo value=search>
<p align=center>Enter Your Name: <input type=text name=search_text value='$search_text'><input type=submit value=Search></p><br>
</form>";
?>
变更:
onsubmit='return check(this);'
已添加到表单标记onclick
return false;
添加了js function的else条件建议:总是尝试使用jQuery,这很简单,会缩短你的代码长度。
答案 2 :(得分:0)
您可以使用RegularExpressionValidator控件
来实现此目的设计你的文本框就像我正在使用的这个例子。
<asp:TextBox ID="txtCityCode" runat="server" Width="147px" CssClass="txt" MaxLength="2"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvCityCode" runat="server" ErrorMessage="City Code is required information."
ControlToValidate="txtCityCode" Display="None" ValidationGroup="Save" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="revCityCode" runat="server" ErrorMessage="Numbers and special characters not allowed in 'City Code' field."
ControlToValidate="txtCityCode" ValidationExpression="^[a-zA-Z\s]+$" ValidationGroup="Save"
Display="None" SetFocusOnError="True"></asp:RegularExpressionValidator>
只需根据您的需要更改ValidationExpression
答案 3 :(得分:0)
<script type="text/javascript">
function check(what)
{
var length=what.search_text.value.length;
if (length >3 && length < 21)
{ what.submit(); return true; }
else
{alert("Your nick should be 4-20 characters long.");
return false;}
}
</script>
and in HTML
<input onclick='return check(this.form)' type="submit" value="Search">