2012-01-17 7 views
0

私はJavaScriptの初心者です。ポストバック機能を作成するために、以下の小さなJavaScriptをコーディングしています。私はそれを修正するために誰かが必要です。JavaScriptシンタックスの訂正が必要です

C#コード:

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      TextBox4.Text = "nopost"; 
     } 
     else 
     { 
      TextBox4.Text = "post"; 
     } 
    } 

はJavaScript:

<script type="text/javascript"> 
     function a1(){ 
     var hid = document.getElementById('TextBox4').Value; 
     if (hid == "post") { 
      alert('Posted'); 
     } 
     else if (hid == "nopost") { 
     alert('Not Posted'); 
     } 
     } 
     window.onload == function() { 
      a1(); 
     } 
    </script> 

ASPコード

<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox> 
+2

これがエラーかどうかはわかりませんが、値document.getElementById( 'TextBox4')に小さいvを使用してください。 – Shadow

+1

何が問題なのですか? – jrummell

+2

「機能しない」とはどういう意味ですか? Javascriptはブラウザに正しく送信されますか?あなたのブラウザのJavascriptコンソールに何かエラーがありますか? – millimoose

答えて

2

ClientIDプロパティを使用して.value.Valueを変更してみてください:

var hid = document.getElementById('<%= TextBox4.ClientID %>').value; 
+0

正しいことです..彼は明示的にidを設定しています。彼は明示的にid Baz1nga

+0

を設定しています。TextBox4が[INamingContainer] http://msdn.microsoft.com/en-us/library/system.web.ui.inamingcontainer.aspx)、ClientIDはPar​​ent2_Parent1_TextBox4になります。 – jrummell

+0

@ Baz1nga ASP.NETがIDをctl00_ContentPlaceHolder1_TextBox4 –

2

onloadハンドラの割り当てに=の代わりに==を使用しています。

この...

window.onload == function() { 
    a1(); 
} 

は、問題は、あなたが定義した方法であるかもしれない。この...

window.onload = function() { 
    a1(); 
}; 

または単にこの...

window.onload = a1; 
1

する必要がありますonload関数は次のように変更します。

window.onload = a1; 

P.S:タイプセーフな比較のために、JavaScriptで===演算子を使用してください。

関連する問題