0

次のコードがあります:</p>

<input id="pwd" name="txtPwd" />
<input type="submit" value="Save" />

pwd 入力が null の場合、送信ボタンを無効にする必要があります

JQueryなしでどうすればできますか?

4

4 に答える 4

3

私があなたの質問から得たものから、パスワードフィールドに値があるときに送信ボタンを無効から有効に変更したいですか?

パスワードフィールドに「必須」の検証が添付されている場合、つまりモデルにバインドされている場合、検証が失敗してフォームの送信が停止するため、フォームは送信されません。それでも、それは自動的にバックグラウンドで jQuery 検証を使用しています。

于 2012-11-08T06:13:33.400 に答える
2

HTMLコード:

<html>
  <body>
    <form runat="server" action="">
      <asp:ScriptManager ID="scriptmanager" runat="server">
      </asp:ScriptManager>
<asp:TextBox ID="txtPassword" runat="server" AutoPostBack="true" Text=""></asp:TextBox>

  <asp:UpdatePanel ID="updatePanel3" runat="server">
      <ContentTemplate>
         <asp:Button ID="btnSubmit" runat="server" Text="Submit" Enabled="false" />
     </ContentTemplate>
    <Triggers>
       <asp:AsyncPostBackTrigger ControlID="txtPassword" />
    </Triggers>
  </asp:UpdatePanel>
 </form>
</body>

C#コード:

  protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {

        }

        else
        {
            if (txtPassword.Text != "" && txtPassword != null)
            {
                btnSubmit.Enabled = true;
            }
            else
            {
                btnSubmit.Enabled = false;
            }
        }
    }
于 2012-11-08T07:05:21.933 に答える
0

jquery を使用せずに JavaScript を使用してボタンを無効にする例

<html>
    <head></head>
    <body>

        <div>
            <input id="pwd" name="txtPwd" />
            <input type="submit" id="button" value="Save" />
        </div>
        <script type="text/javascript">
            var element = document.getElementById("button"); 
            element.setAttribute("disabled", "disabled"); 
        </script>
    </body> 
</html>

または、サーバー側で無効属性を設定できます。

于 2012-11-08T06:18:02.447 に答える
0

唯一の問題が JQuery を使用できない場合は、Javascript を使用できます。

送信ボタンを無効に設定し、pwd フィールドに値が入力されたときに JavaScript を使用してボタンのステータスを変更します。ユーザーが入力するパスワードの形式に検証を追加することもできます。

JavaScript を使用できない場合は、サーバー側からこの動作を制御するために提案された 2 番目のオプション「testCoder」を実行する必要があります。

于 2012-11-08T06:42:39.543 に答える