2017-05-01 15 views
0

.jsファイルをASP.NETプロジェクトにドラッグアンドドロップしましたが、コードがインラインjsで正常に動作している間は応答しません。私はVS 2017を使用しています。外部jsファイルが動作していません

私のコードはここにあります。

<script src="externaljavascript.js"></script> 

私の入力ボタンは;

<input id="Button1" type="button" onclick="isEven()" value="button" /> 

JavaScriptコードは次のとおりです。

function isEven() { 
    var num = document.getElementById('<%=TextBox1.ClientID %>').value; 
    if (num % 2 == 0) { 
    alert(num + " " + "is even"); 
    } else { 
    alert(num + " " + "is odd"); 
    } 
} 
+0

をレンダリングすることができ、この作品? –

+0

JavaScriptファイルをインポートしてレイアウトやその他の.cshtmlファイルに書き込んだ方法を考えてください。ブラウザのコンソールウィンドウにエラーがありますか? (F12キーを使用して、コンソールタブを確認してください)。ファイルが正しくインポートされていない場合、isEvenは関数などではないような比例エラーが表示されます。 – Elnaz

+0

コンソールにエラーがなければ、isEven関数が機能しているかどうかを確認してください。つまり、コンソールパネルで、ソースタブ(chrome)を開き、行の横に箇条書きを置く:var num = document ......(行の横をクリックする)、ページを更新する(F5)。ブレークポイントが有効になり、F10キーを押してから 'num'の値をチェックします(変数にマウスを置く)。値は期待通りではありません。ほとんどの場合、( '<%= TextBox1.ClientID%>')はサーバサイドをレンダリングしています。 – Elnaz

答えて

0

使いのブラウザではJavaScriptがそれがJSファイル(すなわちexternaljavascript.js)に分離することができないので、クライアント側に行く前にレンダリングする必要があります(「<%=TextBox1.ClientID %>」)サーバー側のコードが含まれています。

( '<%=TextBox1.ClientID %>').aspxのページ内で、あなたのJSをインポートしなかったか

+0

私は間違っていて、親切に私を案内してくれました。おかげです。 var num = document。 getElementById( '<%= TextBox1.ClientID >')。値; –

+0

<%= TextBox1.ClientID%> これをJSファイルに書き込むことはできません。 – mastermind

関連する問題