我写了一段代码,下面是代码
<script type="text/javascript">
function submitform()
{
document.myform.action='http://mysite/index.php';
document.myform.submit();
}
</script>
<?php
if(isset($_POST['submit_details']))
{
echo "<script typ=javascript> submitform();</script>";
}
?>
<form id="myform">
------
------
<input type="submit" name="submit_details">
</form>
当我尝试提交表单时,它会给我错误document.myform未定义,如何解决此错误
答案 0 :(得分:2)
document.myForm
未定义,因为在浏览器接收到表单元素之前,正在运行。您需要将脚本放在表单标记之后,或使用document.onload
事件处理程序(或类似的)。
(尽管你想在没有用户做任何事情的情况下自动并立即提交JS表格的原因超出了我的想法。)
答案 1 :(得分:1)
如果那是字面上的代码,那么它就会出现语法错误。
尝试:
<?php if (isset($_POST['submit_details'])) { ?>
<script type="text/javascript">submitForm();</script>
<?php } ?>
答案 2 :(得分:1)
尝试将脚本移动到页面底部,或者更好,请听window.onload事件。当浏览器加载脚本时,DOM尚未完成加载,无法找到document.myForm。
答案 3 :(得分:0)
为什么不把javascript提交到输入中呢?
<input type="submit" name="submitdetails" onclick="javascript:submitform();" />
然后使用带有jquery的$ post来运行页面。