0

クライアント側で JavaScript を使用してフォームをリセットしようとしています。コードは次のようになります。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript" >
        function Reset() {
            TextBox1.text = "";
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="Reset()" />
    </div>
    </form>
</body>
</html>

もちろん、これは機能していません。Button1 が定義されていないというエラーが表示されます。ブラウザー内で (ページ ソースを表示して) コントロールの名前を探し、その ID の代わりにそれを使用しようとしましたが、どちらも機能しませんでした。

4

2 に答える 2

1

getElementById を使用して値を取得する必要があります

var mybutton= document.getElementById('Button1');
mybutton.value = ""
于 2011-08-12T10:47:18.027 に答える
1

JavaScript コードにはjQueryを使用することをお勧めします。とにかくスタンダードです。

jQuery を参照した後、次のように JavaScript を書き換えることができます。

<script type="text/javascript" >
    function resetForm() {
        $("#<%=TextBox1.ClientID %>").val("");
    }
</script>    

それでも jQuery を使用したくない場合は、次のようにクライアント ID を使用して要素にアクセスする必要があります。

<script type="text/javascript" >
    function resetForm() {
        document.getElemenyById("<%=TextBox1.ClientID %>").value = "";
    }
</script>    

また、@Jon が指摘したように、OnClientClick値の名前を に変更するかresetForm()、JavaScript 関数の名前を変更する必要があります。

于 2011-08-12T10:47:59.277 に答える