0

値が等しくないときに、javascript を使用して id apDiv1 の div を非表示にしたいのですが、次のコードを使用していますが、機能していません。

<script>
/* <![CDATA[ */
if (#{sessionScope['userdet']['email']}!=#{sessionScope['frienddet']['email']}){
$('#apDiv1').hide();
}
/* ]]> */
</script>

レンダリングされたコードは次のとおりです。

<script>
    /* <![CDATA[ */
    if (amlan@ymail.com != atinr4@gmail.com){
     $('#apDiv1').hide();
    }
    /* ]]> */
</script>
4

2 に答える 2

1

レンダリングされたコードは有効な JS ではありません。if条件に構文エラーがあります。これは、電子メール アドレスを含む文字列を引用する必要があるためです。つまり、レンダリングされたコードは次のようになります。

if ("amlan@ymail.com" != "atinr4@gmail.com"){

または、一重引用符を使用することもできます。JS はどちらも許可します (特定の文字列リテラルに一致する限り)。

あなたのソース言語が何であるかはわかりませんが、次のようなもので必要なレンダリング結果を得ることができると思います:

if ("#{sessionScope['userdet']['email']}"!="#{sessionScope['frienddet']['email']}"){

編集:ページに jquery.js ファイルを含めましたか? 質問では jquery タグを使用しませんでしたが、その$("#apDiv1").hide()部分では jQuery 関数$().hide(). jQuery がない場合は、次のようにしてみてください。

document.getElementById("apDiv1").style.display = "none";

また、表示したコードは、スクリプト ブロックがその後に表示される場合、または次のようにコードをドキュメント対応ハンドラーでラップする場合にのみ div を見つけることができます (ただし、これは jQuery が利用可能であることを前提としています)。

$(document).ready(function() {

    // your other code here    
});

onload ハンドラーを使用する非 jQuery バージョン:

window.onload = function() {

    // your other code here
};
于 2013-03-23T10:43:36.700 に答える
1

2 つの (email) 値を引用符で囲む必要があります

于 2013-03-23T10:44:08.027 に答える