Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery基于多个选项更改表单操作_Jquery_Html_Forms - Fatal编程技术网

使用jQuery基于多个选项更改表单操作

使用jQuery基于多个选项更改表单操作,jquery,html,forms,Jquery,Html,Forms,我试图做的是根据从多个选择中选择的选项更改表单操作。在这种情况下,有两个选择,但想法相同。我试图在提交时将用户指向特定的url。到目前为止,它确实指导用户,但它只返回一个选择了任何年龄选项的女性。年龄部分是正确的,但不会区分男性和女性。所以我得到了一个url作为回报,比如:http://domain.com/somepage.phpfemale\u age selection 我对javascript很在行,但我已经尝试了好几个小时来实现这一点,而且还在努力。我确实得到了一些帮助:但仍然没有解决

我试图做的是根据从多个选择中选择的选项更改表单操作。在这种情况下,有两个选择,但想法相同。我试图在提交时将用户指向特定的url。到目前为止,它确实指导用户,但它只返回一个选择了任何年龄选项的女性。年龄部分是正确的,但不会区分男性和女性。所以我得到了一个url作为回报,比如:http://domain.com/somepage.phpfemale\u age selection

我对javascript很在行,但我已经尝试了好几个小时来实现这一点,而且还在努力。我确实得到了一些帮助:但仍然没有解决。非常感谢您的帮助

标记:

<form action="">
    <fieldset>
        <select id="gender">
            <option value="male">male</option>
            <option value="female">female</option>
        </select>
        <select id="age">
            <option value="teen">teen</option>
            <option value="adult">adult</option>
        </select>
    </fieldset>
    <input type="submit" value="Submit">
</form>

未经测试,但可能类似于以下内容:

$("#gender, #age").on('change', function() {
    var gender = $("#gender").val(),
        age = $("#age").val(),
        site = "somepage.php#"+gender+"-"+age; //inconsistent use of -/_

        $("form").attr("action", site)};
    }); 
});

为表单分配一个id,然后

$('#formid').submit(function(){
  var gender = $("#gender").val();
  var age = $("#age").val();
  $("#formid").attr('action','somepage.php#'+gender+'-'+age);
});
甚至更好

$('#formid').submit(function(){
  var gender = $("#gender").val();
  var age = $("#age").val();
  $("#formid").attr('action','somepage.php#'+gender+'-'+age);
  if(gender == '' or age == ''){
    alert('Please select a gender and age');
    return false;
  }
});

像这样的东西可能适合你

$("#age, #gender").change(function() {
    switch();
});

function switch(){

   // Build out this function with the rest of the logic
   // that you are checking for

   if($(form #age).val=='teen' && $(form #gender).val=='male'){
      $("form").attr("action", "somepage.php#male-teen")
   }
}
$("#age, #gender").change(function() {
    switch();
});

function switch(){

   // Build out this function with the rest of the logic
   // that you are checking for

   if($(form #age).val=='teen' && $(form #gender).val=='male'){
      $("form").attr("action", "somepage.php#male-teen")
   }
}