我使用 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>
关于javascript - 为什么是 "Microsoft JScript runtime error: Object expected"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9028867/