2012-08-17 74 views
-1

作为JavaScript新手,我很难过。但我试图:P基于收音机/选择选项的重定向

基本上我需要做的是重定向到基于下面的表格中选择的选项的网址。总共有4张支票。

  • 如果Windows &高级选择,重定向到一个
  • 如果选择Windows和基础,重定向到B
  • 如果Mac和基本的选择,重定向到C
  • 如果Linux和基本是选择重定向到d

不过,我不能肯定我将如何能够抓住每一个单选按钮,并选择选项的具体名字,更不用说了解他们是否进行检查,并进行CH上面列出的ecks。

如果有人能指出我正确的方向,它将不胜感激。谢谢。

 <form action="process_form.php" class="TTWForm" method="post" novalidate=""> 
     <div id="field3-container" class="field f_100"> 
      <label for="field3">Your Operating System</label> 
      <select name="field3" id="field3" required="required"> 
      <option id="field3-1" value="Windows"> Windows </option> 
      <option id="field3-2" value="Mac"> Mac </option> 
      <option id="field3-3" value="Linux"> Linux </option> 
      </select> 
     </div> 
     <div id="field2-container" class="field f_100 checkbox-group required"> 
      <label for="field2-1">Version</label> 
      <div class="option clearfix"> 
      <input type="radio" name="field2[]" id="field2-1" value="Basic"> 
      <span class="option-title"> Basic </span> <br> 
      </div> 
      <div class="option clearfix" id="optional"> 
      <input type="radio" name="field2[]" id="field2-2" value="Advanced"> 
      <span class="option-title"> Advanced </span> <br> 
      </div> 
     </div> 
     </form> 
+1

如果Mac和高级选择什么或Linux和高级?你有四个以上的选项。除非你在选择Mac或Linux时隐藏高级收音机。 – 2012-08-17 00:04:34

+0

你想提交这个表单与Ajax?否则重定向对JavaScript/jQuery无用。您将向服务器发送数据,该服务器将处理表单值。在这一点上,我们会发送一个像''__POST ['redirecto']'这样的值,它看起来像'http:// www.mypage.com/somewhere/something.php'。我们将使用它来做'header(“Location:”。$ _ POST ['redirecto']);' – Ohgodwhy 2012-08-17 00:06:05

+0

@John Hartsock Mac/Linux没有高级选项。他们隐藏起来。 – Justin 2012-08-17 00:06:58

回答

0

我想添加一个按钮,并做表格的递交的东西:

$(".TTWForm").on('submit', function(e) { 
    e.preventDefault(); 
    var field2 = $("#field2-1").is(':checked') ? 'Basic' : $("#field2-2").is(':checked') ? 'Advanced' : null, 
     field3 = $("#field3").val(); 

    if (!field2) { 
     alert('Select a version!'); 
     return; 
    } 

    var url = 'http://mysite.com/' + field2 + '/' + field3 + '/'; 
    document.location.href = url; 
});​ 

FIDDLE

+0

已经有一个按钮。我只是想把事情保持得相当紧凑。 刚刚测试过你的代码,它正在工作。我会尽力让所有的选项正常工作。 感谢您的帮助。如果我得到这一切工作,我会接受这个答案:) – Justin 2012-08-17 00:27:25