0

私はasp.netを使用しています。ログインフォームがあります。このための Javascript 検証関数を Page に記述しました。

<table>
    <tr>
        <td>Username:></td>
        <td><asp:TextBox runat="server" id="txtUsername"/></td>
        <td>Password:></td>
        <td><asp:TextBox runat="server" id="txtPassword"/></td>
        <td>Username:></td>
        <td><asp:Button runat="server" id="btnLogin" Text="Login" onclientclick="return Validatecp()"/></td>
    </tr>
</table>

テキストボックスにフォーカスして Enter キーを押すと、ページ全体がリロードされます。入力ボタンを押したときに検証を表示したい。それは可能ですか?

編集:

検証機能:

function Validatecp() {

            var name = document.getElementById('<%=txtName.ClientID %>').value;
            var password= document.getElementById('<%=txtTo.ClientID %>').value;

            if (name == "") {
                document.getElementById("td1").innerHTML = "Name Required.";
                return false;
            }
            else {
                document.getElementById("td1").innerHTML = "";
            }
            if (password== "") {
                document.getElementById("td2").innerHTML = "password Required.";
                return false;
            }               
            else {
                document.getElementById("td2").innerHTML = "";
            }
            return true;
        }
4

4 に答える 4

1

コードを記述した場合は、それが有効でない場合は js コードから取得し、aspx ファイルで次のように return を使用する必要があるjava-scriptことを確認してください。return false

<asp:Button runat="server" id="btnLogin" Text="Login" 
     OnClientClick="return Validate()"/>

編集 -1

ボタンがデフォルトのものではない可能性があるため、Enter ボタンを押すとページが更新されます。このために、以下のコードを使用します

<asp:Panel ID="p" runat="server" DefaultButton="myButton">
      <%-- Text boxes here --%>
      <asp:Button ID="myButton" runat="server" />
</asp:Panel>

いくつかの便利なリンク

  1. http://www.hanselman.com/blog/ASPNETHowToCreateADefaultEnterButtonForFormsPostBacks.aspx
  2. 特定のボタンにデフォルトの「入力」を設定する方法
于 2013-10-11T07:22:59.170 に答える
0

add an 属性を button(btnLogin) に追加する必要がありますOnClientClick="Validate()"

お気に入り:

<asp:Button runat="server" id="btnLogin" Text="Login" 
     OnClientClick="Validate()"/>

JavaScript 関数Validate()を定義し、フォームの値が有効でない場合は false を返します。

于 2013-10-11T07:15:39.940 に答える
0

私はJqueryでそれを行います。

//set this so that Jquery selector can get your button
 <asp:Button runat="server" id="btnLogin" Text="Login" ClientIDMode="Static" />

jquery

$(function) () {

$('#btnLogin').click(e) {

Your javascript code here

 //put those if you don't want your page reloading
 e.preventDefault();
 return false;

 });
   });
于 2013-10-11T07:31:58.413 に答える