Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с JS
 
 автор: Бамси   (07.07.2008 в 04:08)   письмо автору
 
 

У нас есть 2 радио, радио определяет на какую страницу нам надо идти, а поле search определяет какую переменную надо передать это странице. Как правильно составить функцию, что бы при нажатии н акнопку далее пользователя перекидывало на страницу с нужными GET переменными.
Допустим raz - www.site.ru/action=raz?here=search
dva - www.site.ru/action=dva?here=search

<script>
function formSubmit()
{

}
</script>

<table border=0>
    <tr>
      <td>Search:</td>
      <td align="right">
          <input type="radio" name="answer" value="raz" CHECKED>Razz
          <input type="radio" name="answer" value="dva">Dvaa
      </td>
    </tr>
    <tr>
      <td colspan="2">
          <input type="text" name="search">
          <input type="button" value="Search" onClick="formSubmit()">
      </td>
    </tr>
</table>

   
 
 автор: lirik   (07.07.2008 в 07:55)   письмо автору
 
   для: Бамси   (07.07.2008 в 04:08)
 

Можно так :


<script> 
function formSubmit() {
    for (var obj = document.getElementsByName ('answer'), j = 0; j < obj.length; j++) {
        if (obj [j].checked){
            var sear = document.form1.search.value;
            window.open("http://www.site.ru/action="+obj[j].value+"?here="+sear , "_self");
        }
    }

</script> 

<table border=0>
    <tr> 
      <td>Search:</td> 
      <td align="right">
            <form name="form1">
          <input type="radio" name="answer" value="raz" CHECKED>Razz
          <input type="radio" name="answer" value="dva">Dvaa
      </td> 
    </tr> 
    <tr> 
      <td colspan="2"> 
          <input type="text" name="search"> 
          <input type="button" value="Search" onClick="formSubmit()">
          </form>
      </td> 
    </tr> 
</table> 

но скорее всего это не самое правильное решение)

   
 
 автор: Бамси   (07.07.2008 в 17:28)   письмо автору
 
   для: lirik   (07.07.2008 в 07:55)
 

Эм... открывает:
http://www.aardvark.ruaction=dva/?here=1233

   
 
 автор: sim5   (07.07.2008 в 17:42)   письмо автору
 
   для: Бамси   (07.07.2008 в 17:28)
 

Не понятно, зачем вам вообще JS код нужен:

<form action="www.site.ru">
<input type="radio" name="action" value="raz" CHECKED>Razz 
<input type="radio" name="action" value="dva">Dvaa 
<input type="text" name="here"> 
<input type="submit" value="Search"> 
</form>

Отправит на указанный домен то, что вам и требуется.

   
 
 автор: GeorgeIV   (07.07.2008 в 17:42)   письмо автору
 
   для: Бамси   (07.07.2008 в 17:28)
 

action=raz и action=dva это что у тебя, имена скриптов?
куда конкретно должен привести выбор на форме в каждом случае?

   
 
 автор: Бамси   (07.07.2008 в 18:00)   письмо автору
 
   для: GeorgeIV   (07.07.2008 в 17:42)
 

Перепишу подробно задачу.
В форме имеется 2 радио буттона, например Rad1 и Rad2.
При выборе Rad1, и заполнении Text, я должен попадать на:
www.site.ru/?subtopic=Rad1&name1=Text
При выборе Rad2:
www.site.ru/?subtopic=Rad2&other=view&name2=Text

   
 
 автор: GeorgeIV   (07.07.2008 в 18:11)   письмо автору
 
   для: Бамси   (07.07.2008 в 18:00)
 

Тебе в принципе правильно сказал sim5, ты же на один и тот же скрипт приходишь, все параметры из формы получаешь, к чему огороды городить?

   
 
 автор: Бамси   (07.07.2008 в 21:25)   письмо автору
 
   для: GeorgeIV   (07.07.2008 в 18:11)
 

К тому, что во втором случаи надо ипользовать other=view, а в первом нет.
К тому, что во втором случаи название переменной которую мы передаем отличается от первого случая. (name1 and name2)

   
 
 автор: sim5   (08.07.2008 в 11:07)   письмо автору
 
   для: Бамси   (07.07.2008 в 21:25)
 

Вы так говорите, будто бы на сервере не код написанный вами, а "понятливый" робот, и стоит вам написать так, он сделает одно, а по другому - сам разберется. Вы ведь принимая передаваемые на сервер данные, в любом случае проверяете, что вам пришло - имена полей и их значения. Не городите чепухи, проверяйте на сервере либо простым if(isset($_GET['name'])) действие, либо все можно проверить в switch(key($_GET)), если вы передаете форму GET методом. Либо вы не имеете представления как обработать принимаемые данные, либо у вас неверный подход к решению вашей задачи.

   
 
 автор: Бамси   (08.07.2008 в 11:29)   письмо автору
 
   для: sim5   (08.07.2008 в 11:07)
 

Я вас вообще не понимаю.
Разве я говорил, что я посылаю данные на свой сервер?

У меня стоит задача, в зависимости от радио буттона сформировать разные POST запросы на удаленный обработчик.
Radio 1: www.site.ru/?action=one&text=input
Radio 2: www.site.ru/?action=two&added=info&text=input

Можно сделать 2 разные формы:
<forrm action="www.site.ru/?action=one">
<input type="text" name="input">
</form>

и

<forrm action="www.site.ru/?action=two">
<input type="hidden" name="added" value="info">
<input type="text" name="input">
</form>

Но мне надо сделать одну форму. Что бы между ники можно было переключатся радио буттоном.

   
 
 автор: Crux   (08.07.2008 в 11:47)   письмо автору
 
   для: Бамси   (08.07.2008 в 11:29)
 


<form method="GET" onsubmit="this.added.disabled = !this.action[1].checked;">
<input type="radio" name="action" value="one">
<input type="radio" name="action" value="two" checked>
<input type="text" name="input">
<input type="hidden" name="added" value="info">
<input type="submit" value="submit">
</form>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования