2013-01-14 42 views
1

我試圖通過調用一個JavaScript函數,當用戶按下提交按鈕來更新表單標籤的動作屬性。動作屬性根據在「繼續」選擇框中選擇的內容進行更新。但是下面的腳本不起作用,我不知道爲什麼。Javascript onsubmit事件不會更新html表單動作屬性

的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>'; 
?> 

回答

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

+0

你可以在javascript中編寫php,而不是寫作者寫他的代碼的方式。如果這就是你所說的「有情況,你可以在Javascript函數中編寫PHP」。那麼請更新,這樣的話是有道理的。 – Swordfish0321

+1

感謝您的支持 – Techie

+0

是否可以使用PHP更改操作?我不確定如何使用JavaScript來完成這項工作,因爲條件依賴於已經設置的PHP POST變量。 我已經理解了客戶端和服務器端腳本的基礎知識。不過,我不明白爲什麼JavaScript內部的PHP不起作用。服務器不會執行PHP代碼並將javascript/html發送給客戶端以進行渲染嗎? – user1975196