2016-07-22 44 views
0

私はMVCにかなり慣れています。ビューページ(ボタンクリック)からjavascript関数を呼び出そうとしていますが、呼び出すことができません。別ファイルにjavascript関数があります。ビューページ(CSHTML)にスクリプトファイルの参照を追加しました。 。 コード:一般的にCSHTMLでjavascriptを呼び出すことができません

javascript関数

function IsFirstNameEmpty() { 
    if (document.getElementById('TxtFName').value == "") { 
     return 'First Name should not be empty'; 
    } 
    else { return ""; } 
} 
+0

TXTFNameは、テキストボックスID..anyの考えですか? – alok

+0

テキスト値を返そうとしています。それは警戒のようなものか、それとも何? – demo

+0

あなたのコードは正常に動作するはずです。作業サンプルはこちらhttp://jsbin.com/zipanubuna/edit?html,js,output。 'alert( 'some message');' – Shyju

答えて

-1

、あなたはMVCパラダイムずにやったことに違いはありません。スクリプトが部分的なページの中にある場合は、期待した瞬間に2回以上実行できないことに注意してください(たとえば、部分的なビューの読み込み順序のために関数が定義される前に関数を呼び出すことができます)。このシンプルなシナリオでは、関数の定義を含むスクリプトが本当に生成されたWebページに含まれていることを確認してください。これを行う最も簡単な方法は、ブラウザのページソースをチェックすることです。

0

簡単な例:https://jsfiddle.net/8mhuL839/

あなたは(私はあなたについてのあなたの言葉は、JSファイルを正しく含めました信頼)細かい全力を尽くします。しかし、返された文字列は何もしません。

私の例では、警告ダイアログにテキストを入力するだけです。 は、たぶんあなたには、いくつかのラベルには、このテキストを表示したい、そしてちょうど次の操作を行います。

LblValidationはあなたの文字列が含まれていますいくつかのラベルのIDであり、 returnedTextはあなたの関数から返すようにしようとする文字列です
document.getElementById('LblValidation').value = returnedText; 

<input type="submit" value="enter" onclick="IsFirstNameEmpty();"/> 
 
<input type="text" value="text" id="TxtFName" /> 
 
    
 
<script type="text/javascript" > 
 
function IsFirstNameEmpty() { 
 
    if (document.getElementById('TxtFName').value == "") { 
 
     alert('First Name should not be empty'); 
 
    } 
 
    else { alert(""); } 
 
} 
 
</script>