JavaScript onsubmit event won't更新html表单动作属性


JavaScript onsubmit event won't update html form action property

我试图通过在用户按下提交按钮时调用JavaScript函数来更新表单标记的action属性。操作属性根据在名为"proceed"的选择框中选择的内容进行更新。然而,下面的脚本不工作,我不知道为什么。

Javascript:

<script type="text/javascript"> 
   function updateAction() {
      <?php
         if (empty($errors) && isset($_POST['submit'])) {
            echo 'document.newStudent.action = document.newStudent.proceed.value';
         } else {
            echo 'document.newStudent.action = "newStudent.php"';
         }
      ?>
   }      
</script>
<form name="newStudent" method="POST" onsubmit="updateAction()">

选择框在我的代码中更靠下的地方:

<?php //PROCEED
   echo '<tr>';
   echo '<td><p>Proceed To:</p></td>';
   echo '<td>
         <select name="proceed">
         <option value="newSchedule.php">add student''s schedule</option>
         <option value="newStudent.php">add another student</option>
         <option value="staff.php">staff page</option></td>';
   echo '</tr>';
?>

不能在JavaScript方法中编写PHP代码。您必须了解服务器端脚本和客户端脚本之间的区别。在你的场景中,写一个JS代码来完成你的任务。阅读这个客户端vs服务器端基础,PHP vs JavaScript的动态HTML页面

Javascript和PHP允许网站开发人员创建动态网页。Javascript是一种客户端语言,所以它运行在读者的计算机上。PHP是一种服务器端语言,因此它运行在Web服务器上。这两种语言结合在一起,为读者创建了交互式网站。这些语言都是组合在一起的,但是它们与Web浏览器的交互方式不同。

在某些情况下,你可以在Javascript函数中编写PHP,但不是在你的场景中。

阅读更多