Радиокнопка для открытия страниц - PullRequest
0 голосов
/ 19 июля 2011

У меня есть форма с 2-мя переключателями и кнопкой отправки.Оба переключателя имеют URL разных страниц, например, один откроет google.com, а другой откроет yahoo.comвыбрали переключатель и отправьте страницу.Я хочу, чтобы это открыло мой URL.Пожалуйста помоги.с HTML и кодом JavaScript.Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 19 июля 2011

Сделай что-нибудь подобное

<?
if ($_POST['submitUrl']){
header('Location:'.$_POST['url']);
}
?>
<form method="post" action="">
<input type="radio" name="url" value="http://www.google.com"/>Link1<br>
<input type="radio" name="url" value="http://www.yahoo.com"/>Link2<br>
<input type="submit" name"submitUrl" value="Submit"/>
</form>
0 голосов
/ 19 июля 2011

Сохраните 90 КБ дополнительного сценария:

<script type="text/javascript">

  function doSubmit(form) {
    var urls = form['url'];
    var i = urls && urls.length;
    while (i--) {
      if (urls[i].checked) {
        window.location = urls[i].value;
      }
    }
    return false;
  }

  </script>

  <form action="" onsubmit="return doSubmit(this)">
    <input type="radio" name="url" value="http://www.google.com"> Google
    <input type="radio" name="url" value="http://www.yahoo.com"> Yahoo
    <input type="submit" value="Submit">
  </form>

О, и никогда дают элементу управления формы имя "submit", поскольку оно будет маскировать метод отправки формы.Если необходимо, назовите его «submitButton» или подобное.

0 голосов
/ 19 июля 2011

HTML

<form name="form" method="post" action="">
    <input type="radio" name="url" value="http://www.google.com" /> Google
    <input type="radio" name="url" value="http://www.yahoo.com" /> Yahoo
    <input type="submit" name="submit" value="Submit" />
</form>

JQuery

$(function(){
    $('form').submit(function(event){
        event.preventDefault();
        window.location = $('input[type=radio]:checked').val();
    });
});

Рабочий пример: http://jsfiddle.net/AlienWebguy/Rpzvd/3/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...