1

如果我有一个 html 表单和 select 语句,例如,

<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,所以我也无法对选项 1 执行 onchange 选择。我尝试同时使用 onload 和 onchange ,但我认为这可能是一种糟糕的方法,而且它对我不起作用。我一直在搜索,但找不到特定于我的答案。

4

1 回答 1

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 之后放一些东西?

于 2013-03-12T11:34:15.437 回答