如何在PHP echo中调用javascript函数/写脚本

时间:2011-10-12 17:54:23

标签: php javascript

我写了一段代码,下面是代码

<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未定义,如何解决此错误

4 个答案:

答案 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来运行页面。