0

OnClientClickに問題があります。

このようにWebフォームにボタンを追加しました。

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
        style="top: 307px; left: 187px; position: absolute; height: 26px; width: 90px" 
        Text="Submit" OnClientClick="return validate()" />

<head>そして、私はの直後にjavascriptを書いてい<title>ます。

<script language="javascript" type="text/javascript">
    function validate() {
        if (document.getElementById("<%=TextBox1%>").value == "") {
        alert("textbox1 should not be empty");
        }
        else if(document.getElementById("<%=TextBox2 %>").value==""){
        alert("textbox2 should not be empty");
        }
                        }
</script>

TextBox1およびTextBox2は、2つのテキストボックスのIDです。

しかし、[送信]ボタンをクリックすると、OnClickは起動しますが、OnClientClickは起動しません。

どうしたの ?

助けてください。

4

4 に答える 4

6

テキストボックスからIDを取得するときは<%=TextBox1.ClientID%>、JavaScriptで使用する必要があります。

またreturn false、エラーが発生した場合は、validate-functionからも実行する必要があります。

JavaScriptを次のように置き換えます。

function validate() {
    if(document.getElementById('<%=TextBox1.ClientID%>').value == '') {
        alert('Textbox1 should not be empty');
        return false;
    }
    if(document.getElementById('<%=TextBox2.ClientID%>').value == '') {
        alert('Textbox2 should not be empty');
        return false;
    }
}
于 2012-05-30T04:58:49.977 に答える
1

この方法を試してください:-

document.getElementById("<%=TextBox1.ClientID%>").value

document.getElementById("<%=TextBox2.ClientID%>").value
于 2012-05-30T04:59:43.310 に答える
1

私が最初に目にするのは、クライアント側のtexboxを認識するものである"<%=TextBox1%>"なしで使用しているということです。.ClientID当然、idがないと、javascriptはオブジェクトを見つけることができません(おそらく例外もスローします)

于 2012-05-30T05:00:01.607 に答える
1

(document.getElementById("<%=TextBox1%>").value == "")

次のようにレンダリングされます

(document.getElementById("System.Web.UI.WebControls.TextBox").value == "")

document.getElementById("<%=TextBox1.ClientID%>").valueしたがって、javascript関数で使用してみてください。

于 2012-05-30T05:08:11.893 に答える