为什么"Microsoft JScript运行时错误:应为对象“”;

Why "Microsoft JScript runtime error: Object expected"?

本文关键字:对象 运行时错误 quot Microsoft JScript 为什么      更新时间:2023-09-26

我使用jquery大约1天了,现在正做噩梦。我已经花了半天时间试图消除这个错误。我在"谷歌搜索"了这个错误(对不起,Bing!)后做了一些阅读,发现这些错误大多是由于jquery文件没有正确加载造成的。好吧…这开始给我指明了正确的方向,但我仍然不明白为什么它的路径不正确。我的意思是,我按照人们说的那样做——我会把.js文件拖到我的设计器中,它会打印出正确的路径,但仍然会显示错误。

这是我的编辑器模板中的确切代码(有错误):

@model bool
@{
    string status = "Active";
    string buttonValue = "Deactivate";
    string hiddenValue = "true";
    if (!ViewData.Model)
    {
       status = "Inactive";
       buttonValue = "Activate";
       hiddenValue = "false";
    }
}
<div style="width:100px; float:left;"> 
<img id = "AD_Img" src = "/Content/themes/base/images/icon_@(status).png" alt = @(status) />
<label for = "AD_Img" id = "AD_Label" >@(status)</label>
</div>
<div style="width:100px; float:left;"> 
<input type="button" id = "AD_Button" value = @(buttonValue) style = "width:100px" onclick = "ChangeStatus()" />
<input id = "AcntStatus" type = "hidden" name = "AcntStatus" value = @(hiddenValue) />
</div>

在同一个cshtml文件中,脚本是这样的:

<script type="text/javascript" src="/Scripts/jquery-1.5.1.min.js">
function ChangeStatus()             
{
    var ButtonVal = $("#AD_Button").val();
    alert(ButtonVal);
        if (ButtonVal == "Deactivate")
        {
            var stat = "Inactive";
            var buttonVal = "Activate";
            var HiddenValue = "false";
        }
        else if (ButtonVal == "Activate")
        {
            stat = "Active";
            buttonVal = "Deactivate";
            HiddenValue = "true";
        }
            $("#AD_Img").attr({src: "/Content/themes/base/images/icon_"+stat+".png", alt: stat});
            $("#AD_Label").html(stat);
            $("#AD_Button").val(buttonVal);
            $("#AcntStatus").val(HiddenValue);    
}
 </script>

调试器在以下行的输入元素的ChangeStatus函数上停止:

    <input type="button" id = "AD_Button" value = @(buttonValue) style = "width:100px" onclick = "ChangeStatus()" />

我试着在我的函数代码中使用这个来调试它

    function ChangeStatus()             
    {
       var ButtonVal = document.getElementById("AD_Button").value;
       alert(ButtonVal);
    }

它工作正常,它返回了我正在寻找的字符串,没有那个错误,但为什么?我的代码出了什么问题?请帮我弄清楚。

这:

$("#AD_Img").attr(src: "../../../Content/themes/base/images/icon_"+stat+".png", alt: stat);

强制出现语法错误。必须是:

$("#AD_Img").attr({src: "../../../Content/themes/base/images/icon_"+stat+".png", alt: stat});

编辑:

另外看看你的<script>,你不能混合外部JS和内部JS。

此:

<script type="text/javascript" src="../../../Scripts/jquery-1.5.1.min.js">
//your code
</script>

必须拆分为

<script type="text/javascript" src="../../../Scripts/jquery-1.5.1.min.js"></script>
<script type="text/javascript">
//your code
</script>
相关文章: