0

変数値に基づいてhrefの値を設定するにはどうすればよいですか。今のところ、私は次のコードを持っています:

<a href="javascript:clearDate('txtDueDate');"

必要なものを以下に示します。trueの場合、href値を無効にしudisableます。

var udisable = '<%=dueDateDisabled %>';
if (udisable == "false")
         <a href="javascript:clearDate('txtDueDate');"
      else
          <a href="javascript:void(0);"
4

2 に答える 2

0

試す

<a href="javascript:if (udisable == "false) {clearDate('txtDueDate');}"/>

またはさらに良い:これをカプセル化する独自の関数を作成します。

// In some JavaScript file:
function clearDate2(dateString) {
    if (udisable == "false") {
        clearDate(datestring);
    }   
}

-----

<a href="javascript:clearDate2('txtDueDate');"/>
于 2012-09-10T16:20:10.353 に答える
0

これはASP.Netのように見えますか?

もしそうなら、あなたは尋ねる必要があります-私はこの決定をどこで行っていますか?クライアント上またはサーバー上?この場合、本当にサーバー上でそれを行う必要があり、実際に意図したように見えますが、クライアント側のjavascriptとも混同されました。次のブロックは、1つまたは他のアンカータグを出力します。

<% if(dueDateDisabled) { %>
  <a href="javascript:clearDate('txtDueDate');" <% }
   else { %>
  <a href="javascript:void(0)" <% } %>

質問で行うため、アンカータグの残りの部分を省略していることに注意してください

これで、サーバーがページをレンダリングするときに、ページ出力に一方または他方のアンカーのみが表示されます。

このようにjavascriptとhtmlを混在させることはできないため、元のコードは機能しません。サーバー上でこれを行う必要があります。クライアントで実行したいdocument.write場合(このシナリオではお勧めしません)、またはJavaScriptでDOMを直接またはjQueryなどを介して操作したい場合を除きます。私が言うように、これは本当にやりたくないのです。

于 2012-09-10T16:20:40.893 に答える