2013-03-12 78 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