如何在php中编写javascript代码

2022-08-30 11:50:35

我有一个表格,点击提交按钮:

  1. 我想在同一文件中执行某些任务(db任务),并且
  2. 我希望将表单数据发送到测试.php重定向

这是我的代码

    <?php
    if(isset($_POST['btn'])){
        //do some task
    ?>
    <script type="text/javascript">
        var e = document.getElementById('testForm'); e.action='test.php'; e.submit();</script>
    <?php
    }
    ?>
<form name="testForm" id="testForm"  method="POST"  >
    <input type="submit" name="btn" value="submit" autofocus  onclick="return true;"/>
 </form>

但无法提交表单,如果我在onClick上调用javascript代码,它可以工作.这个代码中有什么问题,有什么解决方法吗?


答案 1

只需在 if 函数中回显 javascript 即可

 <form name="testForm" id="testForm"  method="POST"  >
     <input type="submit" name="btn" value="submit" autofocus  onclick="return true;"/>
 </form>
 <?php
    if(isset($_POST['btn'])){
        echo "
            <script type=\"text/javascript\">
            var e = document.getElementById('testForm'); e.action='test.php'; e.submit();
            </script>
        ";
     }
  ?>

答案 2

最近,我遇到了另一种将JS代码放入PHP代码中的方法。它涉及Heredoc PHP语法。我希望这对某人有所帮助。

<?php
$script = <<< JS

$(function() {
   // js code goes here
});

JS;
?>

关闭 heredoc 构造后,$script变量包含可以按如下方式使用的 JS 代码:

<script><?= $script ?></script>

使用这种方式的好处是,现代IDE可以识别Heredoc内部的JS代码,并与使用字符串不同,正确突出显示它。而且你仍然可以在JS代码中使用PHP变量。