Javascript onsubmit事件不会更新html表单操作属性

时间:2013-01-14 02:48:04

标签: php javascript html javascript-events

我正在尝试通过在用户按下提交按钮时调用javascript函数来更新表单标记的action属性。 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>';
?>

1 个答案:

答案 0 :(得分:3)

你不能在这样的JavaScript方法中编写PHP代码。您必须了解服务器端脚本和客户端脚本之间的区别。在您的场景中编写一个完成任务的JS代码。阅读此Client side vs server side basicsPHP vs JavaScript For Dynamic HTML Pages

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

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

Read More