Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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
无法在onclick fnction中执行javascript_Javascript_Html - Fatal编程技术网

无法在onclick fnction中执行javascript

无法在onclick fnction中执行javascript,javascript,html,Javascript,Html,1) 此编码正在工作 <script> function load_home(){ document.getElementById('mainpage').innerHTML = "<object width='100%' height='100%' type='text/html' data='LoginForm.aspx'></object>"; } </script> <button onclic

1) 此编码正在工作

<script>

function load_home(){              
   document.getElementById('mainpage').innerHTML = "<object width='100%' height='100%' type='text/html' data='LoginForm.aspx'></object>";
}

</script>

<button onclick ="load_home()"> </button>

函数load_home(){
document.getElementById('mainpage').innerHTML=“”;
}
2) 但是当我写作的时候

<button onclick ="document.getElementById('mainpage').innerHTML = <object width='100%' height='100%' type='text/html' data='LoginForm.aspx'></object>"> </button>

它不起作用


请帮助我运行代码2,只需在脚本中添加触发器即可。使用下面的代码

<button id="clickButton"></button>

<script>
  document.getElementById("clickButton").addEventListener("click", load_home);
</script>

document.getElementById(“clickButton”).addEventListener(“单击”,加载到主页);

另外,请参见您必须转义字符串中的

<button onclick ="document.getElementById('mainpage').innerHTML = '<object width=\'100%\' height=\'100%\' type=\'text/html\' data=\'LoginForm.aspx\'></object>'"> </button>

了解转义序列

这应该起作用:

<button onclick ="document.getElementById('mainpage').innerHTML = '<object width=\'100%\' height=\'100%\' type=\'text/html\' data=\'LoginForm.aspx\'></object>'"> Click Me </button>
点击我
试试看:

<button onclick='document.getElementById("mainpage").innerHTML = "<object width=\"100%\" height=\"100%\" type=\"text/html\" data=\"LoginForm.aspx\"></object>"'></button>

但是请记住,您应该在js中使用eventlistener,而不是内联js。因此,更好的解决方案是

<script>
    document.getElementById("button").addEventListener("click", function() {
        document.getElementById("mainpage").innerHTML = "<object width='100%' height='100%' type='text/html' data='LoginForm.aspx'></object>";
</script>

document.getElementById(“按钮”).addEventListener(“单击”,函数)(){
document.getElementById(“主页”).innerHTML=“”;

您正在将
innerHTML
值设置为非字符串值。不起作用我刚刚看到了您的第二个选项(元素上的内联代码)。对于生产环境来说,这绝不是一个好主意,类似于内联样式,因为在大型HTML文件中很难找到。相反,请参阅我的答案中建议的解决方案