2

ユーザーがテキスト ボックスに 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>
4

4 に答える 4

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>";
?>

変更点:

  1. onsubmit='return check(this);'フォームタグに追加
  2. onclickボタン送信から削除
  3. return false;js関数のelse条件に追加

提案:常にjQueryを使用するようにしてください。これは単純で、コードの長さを短縮します。

于 2013-03-22T09:34:32.813 に答える
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">
于 2013-03-22T09:47:54.030 に答える
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 を変更するだけです

于 2013-03-22T09:36:57.400 に答える
0

無効な値の場合は、する必要があります

return false;

フォームの送信がキャンセルされるように

于 2013-03-22T09:30:53.177 に答える