1

我在 MVC3 Razor 视图引擎中有一个 Index.cshtml 页面,代码如下:

@{
    ViewBag.Title = "Home Page";
}

<h2>@ViewBag.Message</h2>

<label id="lblClickMe" style="cursor:pointer"> Test Java Script Work in MVC Razor</label> || <label id="lblReset" style="cursor:pointer"> Rest    </label>

<br /><br /><br /><br />
<input type="text" id="txtResult"  style="width:300px"/>

我在 Sane 页面中有一些 JavaScript,例如:

<script type="text/javascript">
    $("#lblClickMe").click(function () {

        var txtResukt = document.getElementById("txtResult");
        txtResukt.value = "Java script work successfully";

    })

    $("#lblReset").click(function () {

        var txtResukt = document.getElementById("txtResult");
        txtResukt.value = "";

    })
</script>

当我尝试加载我的视图时,从“lblClickMe”单击事件中给出以下异常:

Microsoft JScript runtime error: Object expected

有没有人修复这个bug?

4

3 回答 3

3

尝试这个:

  <script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
    <script type="text/javascript">
        $("#lblClickMe").click(function () {
         $("#txtResult").val("Java script work successfully");
        });
        $("#lblReset").click(function () {
          $("#txtResult").val("");
        });
    </script>
于 2012-06-25T13:12:09.137 回答
2

尝试这个:

$(document).ready(function()
{
    $("#lblClickMe").click(function () { 

        var txtResukt = document.getElementById("txtResult"); 
        txtResukt.value = "Java script work successfully"; 

    }) 

    $("#lblReset").click(function () { 

        var txtResukt = document.getElementById("txtResult"); 
        txtResukt.value = ""; 

    }) 

});   

这可确保在代码尝试连接点击事件之前首先加载页面中的 HTML。

于 2012-06-25T11:54:49.017 回答
1

为什么不这样做?

$("#lblClickMe").click(function () {
    document.getElementById("txtResult").value = "Java script work successfully";
});

或者在纯 jQuery 中:

$("#lblClickMe").click(function () {
    $("#txtResult").val("Java script work successfully");
});
于 2012-06-25T13:59:42.150 回答