2016-03-28 19 views
1

、私はサーブレットが1として整数の値を送信する状態にJSP <% %>のJavaの部分から呼び出されたときにJavaScriptjspのjava部分からjavascript関数を実行することはできますか? JSP内

<script type="text/javascript"> 
function forSignup(){ 

    if(document.getElementById("sign").style.display=='none') 
    { 

     document.getElementById("sign").style.display='block'; 
     document.getElementById("login form").style.display='none'; 
    } 

    else 
    { 
     document.getElementById("login form").style.display='block'; 
     document.getElementById("sign").style.display='none'; 
    } 
</script> 

で定義された関数を実行したいです。

できますか?

はいの場合はどうすればよいですか教えてください。

+2

JavaScriptはクライアント側の言語ですが、Javaはサーバー側の言語です。 – kevingreen

+0

@kevingreen両方のカウントで間違っています。 – chrylis

+0

@chrylis詳しい説明やディスカッションにご協力いただけますか? – kevingreen

答えて

1

私はこれがおおよそあなたが探していると仮定します。サーバー側の変数(intValue)が1の場合は関数を呼び出し、そうでない場合は関数を呼び出します。

<% if (intValue == 1) { %> 
    <script type="text/javascript"> 
     forSignup(); 
    </script> 
<% } %> 

実際にこのJava関数をJavaから呼び出すわけではありません。あなたは、問題の整数値に依存して、サーバーサイドの条件に基づいてJavascript関数が呼び出されることを保証しているだけです。

+0

ありがとう!!!! それは働いた:) – faizan

0

<c:if>ブロックを使用して、JSPの変数に基づいてJavaScriptを組み込むことができます。

0

JavaScriptはJavaコードから実行できますが、単純ではなく、投稿したコードをDOMから実行する必要があります。したがってはサーバー側で処理されません。さらに、スクリプトレットの使用は強くお勧めします。ページのモデルを準備して(通常はSpring MVCなどのフレームワークを使用して)、レンダリング専用のテンプレートを使用する方がはるかに優れています。

あなたがしたいことは、ユーザーがログインしているかどうかなどの状態に基づいて要素が表示されるかどうかを判断する条件付きロジックです。<c:if>を使用して、レンダリングされたHTMLにコードを選択しますJavaScriptを使用して迂回すること)。

関連する問題