document.getElementById('txtnumber').onchange=function(){
if(this.value!=""){
_doPostBack('txtNumber',this.value);
}
}
その後、Request["__EVENTARGUMENT"] エントリを使用して値を取得できます。また、必ず AutoPostback をオフにしてください。
編集: txtNumber_TextChanged ハンドラー内で、たとえば:
private void txtNumber_TextChanged handler
{
Response.Write(Request["__EVENTARGUMENT"]);
//Writes the value of the TextBox. Basically, EVENTARGUMENT is the second argument passed when calling _doPostBack
}
txtNumber オブジェクトを使用して txtNumber の値にアクセスできるため (従来どおり)、これは完全にオプションであることに注意してください。
編集: document.getElementById を使用して要素への参照を取得する場合は、クライアント ID を引数として渡す必要があることに注意してください。たとえば、txtNumber オブジェクトが FormView1 という名前の FormView 内にある場合、結果のクライアント ID は FormView1_txtNumber になります。コードに次のいずれかの変更を加えると、問題が解決するはずです。
1) JavaScript が aspx ページの script タグにある場合は、単純に次のように変更document.getElementById('txtNumber')
します。document.getElementById('<%= txtNumber.ClientID %>')
2) 外部の js ファイルを使用している場合は、js ファイルを呼び出す前に、aspx ページに次のスクリプト タグを変更document.getElementById('txtNumber')
して挿入します。document.getElementById(txtNumberClientID)
<script type="text/javascript">
window.txtNumberClientID='<%= txtNumber.ClientID %>';
</script>
これがうまくいくかどうか教えてください