2012-01-12 5 views
1

を使用してASP.NETのハイパーリンクを有効にする、私のASP.NETのWebアプリケーションを開発するためのC#、私はこのようなasp.netハイパーリンク作成しました:あなたは私がしました見ることができるように私はVS2010を使用するJavaScript

<asp:HyperLink ID="hpAccept" runat="server" Enabled="false" Target="_parent">Hyperlink</asp:HyperLink> 

をenabled = falseと定義されているため、起動時に無効になります。変数がtrueに設定された後にこのハイパーリンクを有効にするJavaScript関数を定義しましたが、機能しません。私の問題が何であるか、それは私のJS関数です:

  function onRadioChange(rowIndex, value) { 

..... 
.... 
      if (all_ok) { 
       document.getElementById('hpAccept').disabled = false; 
      } 
     } 

私の変数(all_ok)がtrueに設定されているが、ハイパーリンクが有効になっていません!

おかげ

+0

を使用することができ、このJavaScriptコードが内部にあるですページ自体? –

+0

はい、この関数はページの中にありますが、この関数はさらに何かを実行し、それらはすべて正しく動作しますが、この行は何もしません! –

答えて

2

要素のidはできません「hpAccept」

代わりに使用します。

document.getElementById('<%=hpAccept.ClientID%>').disabled = false; 
+0

ありがとうございますが動作しませんでしたが、それでも無効になっています –

+0

デフォルトのポストバックを防ぐために、クリック機能からfalseを返すようにしましたか? – Skyrim

+0

この関数はうまくいきますが、この行は期待通りには答えられません。もちろん、ポストバックは発生しませんが、それが問題になるかもしれないと思います。 –

1

<%= hpAccept.ClientID %>はなく、サーバー側のスクリプトが実行されない、別のJavaScriptファイルで動作するはずです。

別の可能性は、クラスセレクタを使用することです:jQuery

<input runat="server" id="hpAccept" value="test" class="txtTest" /> 

、その後:

var value = $('.txtTest').removeAttr('disabled'); //Updated 

は、この情報がお役に立てば幸いです。あなたは、静的な値を使用してハイパーリンクのマークアップ属性のClientIDModeに追加する必要があります

+0

ありがとうございますが、純粋なJavaScriptソリューションを教えていただけますか? –

+0

Hmmm jQueryは、Javaスクリプトライブラリです。クライアントマシンの検索で 'hpAccept'のページソースにあっても、実際のコントロールとjavascriptの2つの場所で見つけることができます。 –

+0

これはXHTML準拠ではありません... '.attr( '無効'、 '無効')'(無効にする) ''(無効にする) '.removeAttr( '無効にする')'(有効にする) –

0

、それはその後、この

<asp:HyperLink ID="hpAccept" runat="server" Enabled="false" ClientIDMode="Static" Target="_parent">Hyperlink</asp:HyperLink 

のようなルックスでなければならない、あなたはjqueryの

$("#hpAccept").attr("disabled", "disabled"); 
+0

- 'hpAccept 'は、レンダリングされたid(別名clientID)ではありません。親コントロールIDによって「親」となるでしょう...' %% this.hpAccept.ClientID%> 'を使って正しい値を取得します –

+0

ありがとう、私の問題を解決できる、私はちょうど私のハイパーリンクにHREFを追加:document.getElementById( 'hpAccept')。 document.getElementById( 'hpAccept').href = "google.com"; –

関連する問題