Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在visual studio 2010中运行javascript函数时出现无效ID错误_Javascript_Visual Studio - Fatal编程技术网

在visual studio 2010中运行javascript函数时出现无效ID错误

在visual studio 2010中运行javascript函数时出现无效ID错误,javascript,visual-studio,Javascript,Visual Studio,我在visualstudio工作。 我得到一个运行时错误:当我点击一个按钮时,id无效,调用了一个javascript函数,该函数与元素id一起工作。 但我可以在页面的视图源中看到具有确切id的元素, 问题在哪里? 我只使用html元素,并得到相同的错误 <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>View HTML</title> <sc

我在visualstudio工作。 我得到一个运行时错误:当我点击一个按钮时,id无效,调用了一个javascript函数,该函数与元素id一起工作。 但我可以在页面的视图源中看到具有确切id的元素, 问题在哪里? 我只使用html元素,并得到相同的错误

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>View HTML</title>
<script type="text/javascript" language="javascript">
 Hmove=-100;
 function moveObjRight(obj) 
{    
obj.style.left=Hmove;
Hmove+=2;
if(Hmove<100)
    window.setTimeout("moveObjRight(" +obj.id+ ");", 0);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
    <asp:Button ID="btnViewHtml" runat="server" Text="View Html" onclick="moveObjRight(JS)"/>
<IMG SRC="starflower.gif" ALT="Starflower" id="JS">
    <br />
    <br />

</form>
</body>
</html>

查看HTML
Hmove=-100;
功能moveObjRight(obj)
{    
对象样式左=Hmove;
Hmove+=2;

如果(Hmove按钮已经在客户端上获得了ID,这不是JS

asp:Button ID=“btnViewHtml”


我认为这是您出现问题的原因

您需要的是
OnClientClick
,而不是
OnClick

<asp:Button 
    ID="btnViewHtml" 
    runat="server" Text="View Html" 
    OnClientClick="moveObjRight(this); return false;"
/>


还要注意传递给
moveObjRight
函数的参数:
this
您正在传递按钮的id,并将其作为代码中的对象引用

用这个代替那个

在脚本中使用这个


window.setTimeout(“moveObjRight(“+obj+””)”,0);

发布一点您的代码,这会让我们更好地帮助您。以下是在If条件下用此窗口替换代码后我想做的事情的示例代码。setTimeout(“moveObjRight(“+obj.ID+”),0);告诉它是否工作??If(Hmovei需要为图像运行javascript函数,id为:JS