2010-03-20 51 views
2

如果用戶提交表單,我想運行一個特定的PHP塊。它的工作原理,如果我用一個提交按鈕與name =「提交」和:

<?php 
if(isset($_POST['submit'])) { 
code to run 
} 
?> 

我不知道的JavaScript什麼,我想要的代碼,如果用戶改變一個下拉菜單上運行。如果我讓下拉

<select name="dropdownname" onchange="this.form.submit()"> 

的第一行出現的形式(我沒有測試過),如果用戶改變了下拉菜單選擇提交。但是,如果我這樣做,if(isset($ _ POST ['submit']))PHP代碼無法運行。是否有PHP if語句可以編寫,即使提交的下拉列表中的更改提交了,而不是提交按鈕,它也會響應提交的表單?

回答

6

您可能要直接檢查:

if(isset($_POST['dropdownname'])) 
+0

當然!這使得總體感(和作品)。謝謝! – bsamek 2010-03-20 16:05:08

-1

如果用來顯示一些數據,這個下拉菜單,你應該經常檢查$ _ SERVER [「REQUEST_METHOD」],而不是特定的字段名

+1

不,你應該經常檢查你期望收到的每一個領域的存在,或者至少是你的代碼*要求*。只要檢查請求方法就不會告訴你所傳遞的數據。 – Atli 2010-03-20 16:38:30

+0

@Ali因此,沒有人問您要傳遞的數據 – 2010-03-20 17:41:15

+0

@Col。彈片 - 他要求在下拉改變時執行代碼。如果您只檢查請求方法,則任何POST請求都會觸發代碼,即使是來自另一個表單的代碼。 - 驗證存在的值是確保實際提交'