根据表单中单选按钮中的值,重定向表单上的用户

时间:2015-04-16 20:32:28

标签: javascript jquery

我需要制作一个简单的表单,使用javascript将用户重定向到正确的页面。

它有一个单选按钮列表,提交我需要将用户重定向到为每个单选按钮指定的页面URL。

看起来像这样:

enter image description here

我发现了一个使用jquery执行此操作的javascript,但这是通过单击单选按钮触发的。我需要有一个提交按钮

我认为这很容易做,而且可能是,但不知怎的,我找不到解决方案。

这是我玩的代码(我在SO的其他地方找到了代码,这很有效。但是没有“提交”按钮。):

I value the most:
<form>
  <input type="radio" name="redirect" value="http://example.com/food"><span>eating food</span><br>
  <input type="radio" name="redirect" value="http://example.com/kids"><span>play with my kids</span><br>
  <input type="radio" name="redirect" value="http://example.com/fishing"><span>go fishing</span><br>
  <input type="radio" name="redirect" value="http://example.com/stackoverflow"><span>answer StackOverflow questions</span><br>
</form>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$('input[type="radio"]').on('click', function() {
     window.location = $(this).val();
});
</script>

我应该能够使用它:https://api.jquery.com/submit/但是我还没有理解如何同时触发提交并获得正确的无线电值,然后重定向。

我能否以某种方式使用上述代码,或者我是否需要采用完全不同的方法来实现?

我试过这个:

I value the most:
<form id="mychoice">
  <input type="radio" name="redirect" value="http://example.com/food"><span>eating food</span><br>
  <input type="radio" name="redirect" value="http://example.com/kids"><span>play with my kids</span><br>
  <input type="radio" name="redirect" value="http://example.com/fishing"><span>go fishing</span><br>
  <input type="radio" name="redirect" value="http://example.com/stackoverflow"><span>answer StackOverflow questions</span><br>
  <input type="submit" value="Go">
</form>


<script>
$( "#mychoice" ).submit(function( event ) {
window.location = $('input[type="radio"]:checked').val();
});
</script>

我的想法是打开窗口位置,其中的值来自选中的单选按钮。这可能是完全错误的做法。没用......: - )

3 个答案:

答案 0 :(得分:1)

你的选择器有点偏。请尝试以下方法:

$('input[name="redirect"]:checked').val();

这个JSFiddle可能有所帮助:

https://jsfiddle.net/yufnuwc6/2/

答案 1 :(得分:0)

你可以尝试一下

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

答案 2 :(得分:0)

使用按钮代替提交

<input type="button" id="submit" value="Go"> </form>

<script>

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

</script>