2011-08-01 17 views
0

JScript関数のボタンにテキストを設定しようとしています。私が正しく設定されている。このようなJScriptの機能...関係のコントロールは次のように定義されているJScriptを使用してボタンのテキストを設定する方法は?

function myfunction(sender, eventArgs) 
    { 
     wanted_text = window.source_text_field.get_displayText(); 

     if (document.getElementById("my_span_element") != null) 
     { 
      document.getElementById("my_span_element").innerText = wanted_text; 
     } 

     if (document.getElementById("my_button") != null) 
     { 
      document.getElementById("my_button").text = wanted_text; 
     } 

    } 

...

<span id="my_span_element" class="some_class"></span> 

    <asp:Button id="my_button" 
       runat="server" 
       class="some_other_class" 
       text="" 
       Width="48" 
       Height="25" 
       onclick="do_foo"/> 

span要素内のテキストを使用していますが、ボタンには影響しません。私もinnerTextValueTextを試してみましたが、答えはthis questionにしようとしましたが役に立たなかった。

私は見落としたものを誰でも見ることができますか?

答えて

2

ここ2つの問題があります。

最初に:あなたは間違っている属性を使用 - 代わりに "テキスト"

の、 "値" でなければなりません2番目:document.getElementById("my_button")は、ASP.NETが独自のIDをコントロールに割り当てるため動作しません。生成されたマークアップを見ると、要素のidが完全に異なっていることがわかります。あなたのjavascriptが<asp:button />コントロールと同じ.aspxページの内側にある場合

することは、あなたは次のように行うことができます。

document.getElementById("<%= my_button.ClientID %>").value = "some text"; 
3

ASP.Netはサーバーコントロール用に独自のIDを生成します。

この生成されたIDを取得するには、<%= my_button.ClientID %>と記述する必要があります。ボタンの

+0

SLaks権利です。 Asp:Buttonのようなasp.netタグを使用すると、サーバーは最終HTMLをブラウザに送る前にこれらのタグを評価して適切にレンダリングします。あなたのソースを見てみると、asp:Buttonの mrdc

5

変更.value属性:

document.getElementById("my_button").value = "new value"; 
関連する問題