javascript - 将脚本元素放在代码的第一行很重要吗?

标签 javascript html

此表单会自动将用户转移到另一个表单。我的问题是,当脚本 block 放在表单 block 之后时,代码可以工作。但是当我交换它们时;这样脚本就在表格之上,那么表格就不起作用了。

谁能告诉我为什么?

作品:

<form id="ponyo_form" action="formB.html" method="POST">
    <input type="text" name="id" value="10" />
    <input type="text" name="transfer_email" value="someone@aol.com" />
    </form>

 <script type="text/javascript">
     document.getElementById("ponyo_form").submit();
 </script>

这行不通:

<script type="text/javascript">
     document.getElementById("ponyo_form").submit();
</script>

<form id="ponyo_form" action="formB.html" method="POST">
<input type="text" name="id" value="10" />
<input type="text" name="transfer_email" value="someone@aol.com" />
</form>

最佳答案

当您在表单之前有代码时这不起作用的原因是代码在沿着页面解析时运行。因此它试图找到一个名为 ponyo_form 的表单,该表单在 DOM 中尚不存在。

要解决此问题,请将其放在表单之后,或将其包装在 onload 函数中。

即:

window.onload = function()
{
    document.getElementById("ponyo_form").submit();
}

关于javascript - 将脚本元素放在代码的第一行很重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21937536/

相关文章:

javascript - 我可以使用 Jquery 查找元素并将其 CSS 宽度设置为当前宽度 - x 吗?

javascript - React、JavaScript 中捕获 504(网关超时)错误

javascript - AngularJS 绑定(bind)在 <img> 标签的 'src' 属性中

html - Comodo Positive SSL Trust Logo 出现在 bootstrap div 元素后面

javascript - 使用 CSS Javascript 在中心放大并通过拖动滚动

javascript - 您最喜欢的用于在网络上创建工具提示的 JavaScript 库/脚本是什么?

javascript - 为 head.js 创建函数在不同的浏览器中会出现非常严重的错误

javascript - OpenLayers.Control.Scale.template - 它是如何工作的以及它是否工作?

javascript - 在 IE9-10 中使用 sort() 问题对 DOM 元素进行排序

html - 如何使用html和css使div与另一个div重叠