2013-03-05 77 views
0

我使用此選擇框從中選擇一個選項並顯示內容根據選擇。 我沒有使用提交按鈕提交這個表單,這就是爲什麼我在這個下拉框中添加了onsmit/onchange功能。檢查表單是否提交與PHP

這是我的下拉框:

<select class="select" name="type" onchange="document.forms[0].submit();"> 
    <option value="1">Tutor</option> 
    <option value="2">Institute</option> 
    <option value="3">Student</option> 
</select> 

有誰能夠告訴我,我怎麼能檢查這個選擇框選擇一個選項或不使用Javascript?當然,我需要確保檢查表單是否已提交或不用PHP。

+0

PHP是服務器端。如果你需要檢查客戶端的東西,你需要Javascript。 – m4t1t0 2013-03-05 14:30:34

回答

0

爲什麼不從PHP代碼創建「回聲」?

echo $_POST['type']; 

從您的PHP代碼。我不確定這是否正確,但我相信你應該得到一些迴應:'1','2'或'3',具體取決於提交的值。 我不太記得電臺,請原諒我。

1

使用isset

if (isset($_POST["type"])) ... 
+0

是的,我試過了..像這樣 - \t if(isset($ _ POST [「type」])){\t \t \t \t echo'good'; \t} else { \t \t echo'bad'; \t}總是腳本去'壞'; – TNK 2013-03-05 14:36:27

+0

您是否將表單標籤的方法屬性設置爲發佈?如果沒有,您可以使用$ _GET代替 – Philipp 2013-03-05 14:37:59

1

使用jQuery這樣的:

$("select[name='type']").change(function(){ 
    if($(this).val() != ""){ 
     $(this).parent().submit(); 
    } 
}); 

HTML:

<form> 
<select class="select" name="type"> 
    <option value="">Select one</option> 
    <option value="1">Tutor</option> 
    <option value="2">Institute</option> 
    <option value="3">Student</option> 
</select> 
</form> 
+0

請參閱我的表單正在使用onchange或onsubmit提交。沒有提交按鈕。當選擇一個選項表格時應該檢查。 – TNK 2013-03-05 14:40:19

+0

@TNK應該在JavaScript還是PHP中檢查? – 2013-03-05 14:42:05

+0

是的,它應該是JavaScript,不是嗎? – TNK 2013-03-05 14:43:15

0

您可以檢查POST從選擇的名字被提交,然後檢查它的一個像這樣的整數:

if(isset($_POST['type'] && is_int($_POST['type'])) 
    { 
    // It's been submitted and you can do your processing 
    } 

希望有幫助。

+0

雖然我不是一個javascript程序員,但我認爲你需要有一個id ='form [0]'在選擇名稱之後的表單名稱和id ='type'之後...您也可以嘗試將表單[0]更改爲名稱='myform'id ='myform'之類的內容(但我在這裏猜測您是否可以在提交表單名稱中使用數組。) – 2013-03-05 15:11:01