无法在CSHTML中调用javascript

时间:2016-07-22 13:47:17

标签: javascript asp.net-mvc

我对MVC很新。我试图从视图页面调用javascript函数(按钮单击)但我无法调用它。我在单独的文件中有javascript函数。我在视图页面中添加了脚本文件的引用(CSHTML) 。 代码:

  <input type="submit" value="enter" onclick="IsFirstNameEmpty();">

Javascript功能

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

2 个答案:

答案 0 :(得分:0)

简单示例:https://jsfiddle.net/8mhuL839/

你做的一切都很好(我相信你关于你正确包含js文件的话)。但是你只是对你的返回字符串做了什么。

在我的例子中,我只是将文本放入警告对话框中。 也许你想在某个标签中显示这个文本,然后再做下一个:

document.getElementById('LblValidation').value = returnedText;

其中LblValidation是包含字符串的某些Label的Id,而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>

答案 1 :(得分:-1)

一般来说,没有mvc范例你没有区别。请注意以下事实:如果脚本位于部分页面内,则可以执行多次或不在您期望的时刻执行(例如,由于部分视图加载顺序,您可以在定义之前调用函数)。在这个简单的场景中,我认为您只需要确保包含该函数定义的脚本确实包含在生成的网页中。最简单的方法是在浏览器中检查页面源。