Изменение action в form

Тема в разделе "PHP", создана пользователем RusBiT, 28 авг 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. RusBiT

    RusBiT Постоялец

    Регистр.:
    29 мар 2007
    Сообщения:
    102
    Симпатии:
    3
    Немогу додуматься как реализовать изменение action в form при помощи javascript.
    Хочу чтобы при помощи select можно было менять , например, поисковик.

    Код:
    <FORM name="login" accept-charset="UTF-8" action="top.location.href = this.form.menu
    name.options[this.form.menu name.selectedIndex].value" target="" method="post">
    
    <SELECT size=1>
    <OPTION selected value=http://ya.ru>Найти в Яндексе </OPTION>
    <OPTION value=https://my-server.ru>Поискать у меня</OPTION>
    </SELECT> 
    
    <TABLE cellspacing="5" cellpadding="3" border="0">
    <TR>
    <TD class="form-field" align="right">Логин для поиска</TD>
    <TD class="form-field" align="left"><INPUT type="text" class="form-field" size="8" name="login" value=""></TD>
    </TR>
    <INPUT type="hidden" name="cmd" value="login"><TR>
    <TD></TD>
    <TD><INPUT type="submit" class="form-button" value="OK"></TD>
    </TR>
    </TABLE></FORM>
    Подскажите как реализовать
     
  2. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Меняй в самом select по onchange (onchange="window.location=this.value;)
     
  3. myweb

    myweb Среда обитания WEB

    Регистр.:
    10 сен 2007
    Сообщения:
    539
    Симпатии:
    246
  4. RusBiT

    RusBiT Постоялец

    Регистр.:
    29 мар 2007
    Сообщения:
    102
    Симпатии:
    3
    С такой конструкцией сразу перебрасывает на ya.ru иди my-server.ru
    Или я что то не понял?
     
  5. RusBiT

    RusBiT Постоялец

    Регистр.:
    29 мар 2007
    Сообщения:
    102
    Симпатии:
    3
    Разобрался вроде как

    <script>
    function action1()
    {
    document.getElementById('form_action').setAttribute('action','action1.html')
    }
    function action2()
    {
    document.getElementById('form_action').setAttribute('action','action2.html')
    }
    function action3()
    {
    document.getElementById('form_action').setAttribute('action','action3.html')
    }
    </script>
    <form name="form_action" id="form_action" action="rbs.html" method="get">

    <select >
    <option>Выбирай</option>
    <option value="action1" onclick="action1()">action1</option>
    <option value="action2" onclick="action2()">action2</option>
    <option value="action3" onclick="action3()">action3</option>
    </select>
    <input type="submit" value="Submit" />

    </form>
     
  6. myweb

    myweb Среда обитания WEB

    Регистр.:
    10 сен 2007
    Сообщения:
    539
    Симпатии:
    246
    Старайтесь писать код более компактно:


    PHP:
    <script>
    function 
    action(page)
    {
    document.getElementById('form_action').setAttribut e('action',page)
    }
    </script>
    <form name="form_action" id="form_action" action="rbs.html" method="get">
    <select >
    <option>Выбирай</option>
    <option value="action1" onclick="action('action1.html')">action1</option>
    <option value="action2" onclick="action('action2.html')">action2</option>
    <option value="action3" onclick="action('action3.html')">action3</option>
    </select>
    <input type="submit" value="Submit" />
    </form>

    если потом нужно добавить ищо несколько пунктов, то тепер ето сделать очень легко.
     
  7. BlackByte

    BlackByte Прохожие

    может быть есть смысл не нагружать пхп данной задачи а подумать реализацию из под JS

    мне кажется куда было бы удобней сделать формы при выборе select'а интерактивной... (динамической)
     
  8. RusBiT

    RusBiT Постоялец

    Регистр.:
    29 мар 2007
    Сообщения:
    102
    Симпатии:
    3
    Дык php тут и не завязан
     
Статус темы:
Закрыта.