SELECT + OnChange

Mad777

Новичок
SELECT + OnChange

Помогите найти выход из ситуации. Об этом уже говорили, но у меня немного другой вопрос.
Мне как тут и говорилось нужно реализовать выборку страна город используя два select-a.
Для этого, что бы сформировать запрос для вывода городов, надо получить данные страны, для этого отправляем данные так:
<select name='country' onChange="document.form.submit();">
Но тут проблема другие данные тоже отправяться, а мне только сформировать запрос к базе, и для этого достаточно страны, а другие данные отправлять только по нажатию на кнопку. Так как тут быть?
 

DiMA

php.spb.ru
Команда форума
отправляй другую форму, грузи данные через ифрейм или кури АЯКС
 

DiMA

php.spb.ru
Команда форума
присвой id в теге, получи ссылку через getElementById и превед
 

Mad777

Новичок
Автор оригинала: DiMA
присвой id в теге, получи ссылку через getElementById и превед
а немного попдробней, а то я не понял в каком теге? и что дальше?

-~{}~ 26.05.06 18:09:

Может кто расстолкует, что хотел сказать Дима?

-~{}~ 26.05.06 18:16:

я только нашел такой вариант <INPUT TYPE='submit' Value=' пщ ' style="visibility:hidden">
скрить кнопку формы
 

AdminGorkyRu

Новичок
Автор оригинала: Mad777
я только нашел такой вариант <INPUT TYPE='submit' Value=' пщ ' style="visibility:hidden">
скрить кнопку формы
Код:
<INPUT TYPE='submit' Value=' пщ ' id='button'>
<script>
function toggle(bObj){
  if(bObj.style.display != 'none'){
     bObj.style.display = 'none';
  } else {
    bObj.style.display = 'inline';
  }
  return true;
}
</script>

<a href="#" onclick="toggle(document.getElementById('button'));">Show/Hide button</a>
юзай на здоровье
 

Mad777

Новичок
Автор оригинала: AdminGorkyRu
Код:
<INPUT TYPE='submit' Value=' пщ ' id='button'>
<script>
function toggle(bObj){
  if(bObj.style.display != 'none'){
     bObj.style.display = 'none';
  } else {
    bObj.style.display = 'inline';
  }
  return true;
}
</script>

<a href="#" onclick="toggle(document.getElementById('button'));">Show/Hide button</a>
юзай на здоровье
Спасибо. Это конечно, интересно, но для моей задачи излишество.
 

SelenIT

IT-лунатик :)
как вариант:
... onchange="document.getElementById('id_ифрейма').src = '/скрипт_выборки_городов.php?country=' + this.value" ...
 

Mad777

Новичок
С двумя формами не проходит так, как форму в форму не вложить, ошибку выдает. Пробовал с iframe тоже, что-то нето. Или что-то нитак делаю :(
 

Mad777

Новичок
А как можно сделать refresh страницы из iframe.
У меня получилось так: На index.php странице использую ифрэйм. А там уже select и на OnChange = document.form.submit();
Пытался так OnChange = document.form.submit(); window.location.reload();
Рефрешит только ту каторая в ифрэйм, а надо index.php.
Как сделать?
 

AdminGorkyRu

Новичок
а что мешает сделать вторую форму.. где-нибкдь внизу страницы, с одним hidden полем, а селекту на onChange назначить событие, например такое:
Код:
<script>
function sendCountry(selectObject){
   document.getElementById('id_hidden_country').value = selectObject.options[selectObject.selectedIndex].value;
  document.getElementById('id_second_form').submit();
}
</script>

<form action="some_action_1" method="POST">
<select name="country" onchange="sendCountry(this);">
<option>...</option>
...
<option>...</option>
</select>
</form>

<form id="id_second_form" action="some_action_2" method="POST">
<input type="hidden" name="country_id" id="id_hidden_country" value="">
</form>
 

Mad777

Новичок
Автор оригинала: AdminGorkyRu
а что мешает сделать вторую форму.. где-нибкдь внизу страницы, с одним hidden полем, а селекту на onChange назначить событие, например такое:
Код:
<script>
function sendCountry(selectObject){
   document.getElementById('id_hidden_country').value = selectObject.options[selectObject.selectedIndex].value;
  document.getElementById('id_second_form').submit();
}
</script>

<form action="some_action_1" method="POST">
<select name="country" onchange="sendCountry(this);">
<option>...</option>
...
<option>...</option>
</select>
</form>

<form id="id_second_form" action="some_action_2" method="POST">
<input type="hidden" name="country_id" id="id_hidden_country" value="">
</form>
А вот за это огромное спасибо, наставили на путь истиный, а то я уперся в этот ифрэйм (
 

Mad777

Новичок
Автор оригинала: AdminGorkyRu
:)) да незачто...
а допустим у меня во первой форме так
form action="some_action_1" method="POST">
<input type=text name="name">
<select name="country" onchange="sendCountry(this);">
<option>...</option>
...
<option>...</option>
</select>
</form>
Тада как мне с этим sendCountry(this); ещё передать и то что в name?
 

AdminGorkyRu

Новичок
Код:
<input type=text name="name" id="tx_name">
<select name="country" onchange="sendCountry(this, document.getElementById('tx_name').value);">
и функцию JavaScript нужно соотвественно изменить... добавить еще один аргумент и его использовать как тебе нужно..
 

Mad777

Новичок
Автор оригинала: AdminGorkyRu
Код:
<input type=text name="name" id="tx_name">
<select name="country" onchange="sendCountry(this, document.getElementById('tx_name').value);">
и функцию JavaScript нужно соотвественно изменить... добавить еще один аргумент и его использовать как тебе нужно..
Такой аргумент где-то?

document.getElementById('tx_name').value = document.getElementById('tx_name').value;
 

AdminGorkyRu

Новичок
я тебе уже все разжевал... настоятельно рекомендаю мануал по JavaScript прочитать.. раздел functions..
 
Сверху