2013-03-12 2 views
1

Если у меня есть форма HTML и оператор выбора, как,PHP OnChange 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($_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

+1

Лучшим способом было бы создать пустую опцию, поэтому вам всегда нужно выбирать либо 1,2, либо 3. Я не думаю, что это хорошая практика по умолчанию «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;

Вы хотите загрузить другую страницу при загрузке этой страницы? Или вы wanne ставите что-то из 1 из этого?

+0

Это сработало для меня, спасибо! – JJd

+0

Добро пожаловать;) – user666

Смежные вопросы