iframe中的JavaScript不起作用


javascript in iframe won't work

我有一个有很多代码的网站,所以显然有问题,但我不能在这里发布所有代码。 这是我尝试使用的确切代码

父文档...

<iframe name=combosIframe id=combosIframe src=getCombos.php style='position:absolute;left:300px;top:0px;width:275px;height:520px;overflow-y:scroll;overflow-x:hidden;border:1px solid black'></iframe>
<form name=colorForm id=colorForm action=colorCombos.php method=post target=combosIframe>
   <input type=submit id=submitColors value=SubmitColors>
</form>

在iframe内部,colorCombos.php页面...

<script language=JavaScript>
   alert('load');
   function doSomething(){
      alert('hi');
   }
</script>
<form>
   <input type=button value=ClickMe onClick=doSomething()>
</form>

场景:我单击父表单按钮将新页面加载到 iframe 中。

问题:colorCombos.php页面中的 JavaScript 在页面加载或单击按钮时都不会发出警报。 如果我自己查看页面,它可以正常工作。

规格:php5,使用Chrome浏览器。

注意:当我查看javascript控制台时没有错误。 colorCombos.php页面上也没有其他内容。 这两个文件位于同一目录中。 感谢您的任何帮助,我真的很难。

在 HTML 属性中不使用引号可能会产生不良影响。尝试在每个 HTML 属性的所有值两边添加引号。

例:

<input type="button" value="ClickMe" onClick="doSomething()"/>

我从一个空白设置(正在工作)开始,将我的网站(其中有很多其他代码)的代码一点一点地复制到新文档中,以查看脚本何时停止工作。 我最终将所有内容(字面意思是ctrl + a)复制到新文档中,并且效果很好。 然后,我将新文档重命名为旧文档的名称,它停止工作。 旧文档(即父文档)被命名为 rangeTool.php,我认为这不一定相关。

所以我有一个解决方案,但没有答案。 到底是什么导致一个文档不起作用? 服务器上有问题? 我从服务器上删除了旧文件并加载了新副本,但只要名称为 rangeTool.php,这就不起作用。 例如,我将其重命名为testcode.php它工作正常。

仍然对为什么/如何发生这种情况感兴趣,但至少现在压力已经消失,因为它对我有用。