好的,我会尽我所能提供最详细的信息。
该站点不适用于 IE6。如果它可以与 IE8 和 Chrome 一起使用,那就太好了,但这可以稍后完成。
该站点使用 PHP。提交位于另一个 PHP 文件中的表单,该文件包含在 DIV 标记内的 index.php 上的位置。
如果我单独打开表单,提交工作正常,但是当我尝试在索引页面上提交时,Firefox 错误控制台显示文档未定义。表单代码通过 PHP 逐行回显。保存用户名和密码的文本字段,表单代码如下:
<form id="entrar" action="entrar.php" method="post" onsubmit="javascript:checkvalues();">
<a href="javascript:document.getElementById('entrar').submit();">ENTRAR</a>
</form>
有什么大不了的?我在这里错过了什么?我知道这很愚蠢,但我想不通。
最佳答案
在 jQuery 回答之前。
<form id="entrar" action="entrar.php" method="post" onsubmit="javascript:checkvalues();">
<a id="entrar-link" href="#">ENTRAR</a>
</form>
<script>
(function() {
var entrar = document.getElementById('entrar'),
link = document.getElementById('entrar-link');
link.onclick=function() { entrar.submit() }
})();
</script>
底线是不要使用href
来执行javascript。以不引人注意的方式进行(在脚本元素内)。确保 script
出现在标记之后,或者如果您打算将它放在头部,则使函数在窗口加载/dom 准备就绪时调用。
虽然我真的不知道你为什么这么做:
<input type=submit value=go>
除非你这样做是为了某种奇怪的风格目的,如果你不确定如何正确设置提交的样式,你也可以使用 input type=image
。
关于php - document.getElementById ('form_name' ).submit() 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3033106/