【问题标题】:Javascript onsubmit event won't update html form action propertyJavascript onsubmit 事件不会更新 html 表单操作属性
【发布时间】:2013-01-14 02:48:04
【问题描述】:

我正在尝试通过在用户按下提交按钮时调用 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>';
?>

【问题讨论】:

    标签: php javascript html javascript-events


    【解决方案1】:

    您不能在这样的 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

    【讨论】:

    • 您可以在 javascript 中编写 php,而不是帖子作者编写代码的方式。如果这就是您所说的“在某些情况下您可以在 Javascript 函数中编写 PHP”。那么请更新,让这句话有意义。
    • 是否可以仅使用 PHP 更改操作?我不确定如何使用 javascript 来完成此操作,因为条件依赖于已经设置的 PHP POST 变量。我已经了解客户端和服务器端脚本的基础知识。但是我不明白为什么 javascript 中的 PHP 不起作用。服务端不会执行PHP代码并将javascript/html发送给客户端然后渲染吗?
    • 什么情况下可以在javascript里面使用PHP
    • @user1975196 例如,如果您使用 jQuery 的 $.ajax 调用来获取一些数据。但是假设您不仅有一个 URL,您还有多个,实际上您有多个来自数据库的 URL,因此您的这部分 js 需要“动态数据驱动”。因此,在使用 ajax fn 时,其中一个参数是 url(这是您告诉函数去哪里获取数据的地方)。而不是说 url: 'mysite.com/data',你可以说 url: 'mysite.com/<?=$dataVariable?>' 现在我们正在我们的 javascript 中编写情境正确的 php。
    猜你喜欢
    • 1970-01-01
    • 2012-04-09
    • 1970-01-01
    • 2015-02-13
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多