2013-03-12 71 views
1

如果我有一個HTML表單,並像select語句,PHP平變化的onload選擇

<form method="post"> 
<select name="sortOrder" onchange="form.submit()"> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
</select></form> 

,然後它運行一些東西,這取決於選擇一個php switch語句,

switch($_POST['sortOrder']){ 
case '1': 
//execute this 
break; 
case '2': 
//execute this 
break; 
case '3': 
//execute this 
break; 

我想選項1在頁面加載時默認加載。不幸的是,當頁面加載它不顯示任何東西,直到我選擇一個選項,然後它總是默認爲選項1,所以我永遠不能執行一個onchange選擇選項1。我試着同時使用onload和onchange,但我認爲這可能是一種很糟糕的方式來做到這一點,它並不適合我。我一直在尋找,但找不到具體的答案。

+1

將代碼寫入'case 1',在那裏顯示錶單。 – vedarthk 2013-03-12 11:32:12

+1

最好的辦法是創建一個空白選項,然後你總是要選擇1,2或3.我認爲不包含提交按鈕默認爲'1'是不錯的做法。 – 2013-03-12 11:33:36

回答

1
<form method="post"> 
<select name="sortOrder" onchange="form.submit()"> 
<option value="0">-</option> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
</select></form> 

PHP的:

if(!isset($_POST['sortOrder']) { 
$sortOrder = 1; 
} else { 
$sortOrder = $_POST['sortOrder']; 
} 
switch($sortOrder){ 
case '1': 
//execute this 
break; 
case '2': 
//execute this 
break; 
case '3': 
//execute this 
break; 

所以你告訴PHP默認爲1,如果事情選擇使用該選擇號碼,這樣你就不需要使用期權價值0;

您想在加載此頁面時加載另一頁? 或者你想從這個1放一些東西?

+0

這對我有效,謝謝! – JJd 2013-03-12 11:54:58

+0

不客氣;) – user666 2013-03-12 11:55:49