【问题标题】:$.post, radio button value, jquery$.post,单选按钮值,jquery
【发布时间】:2013-01-14 08:10:30
【问题描述】:

我无法使用 $.post 传递单选按钮值 谁能帮我找出问题?

我得到了未定义的索引:性别

<?php
    $gender = $_POST['gender'];    
    if (!$gender) {
        echo $gender;
    }    
?>

<script type="text/javascript">
    function get(){
        $('#error').hide();

        $.post(
            'signup.php', 
            { gender:signup.gender.value },
            function(output){
                $('#error').html(output).fadeIn(100);
            }
        )       
    }
</script>

<form name="signup">
    <input class="radio" type="radio" name="gender" value="male"/> Male<br/>
    <input class="radio" type="radio" name="gender" value="female"/> Female
    <input type="button" value="submit" onclick="get();" />
</form>

<div id="error"></div>

【问题讨论】:

标签: php javascript jquery


【解决方案1】:

尝试更改此行:

{ gender: signup.gender.value }

到这里:

{ gender: $('.radio').val() }

如果您希望将其保留为原版 javascript,则需要明确使用 forms 集合:

{ gender: document.forms['signup'].gender.value }

【讨论】:

    【解决方案2】:

    试试这个...

    { gender: $('.radio [name="gender"]').val() }
    

    您好。

    【讨论】:

      【解决方案3】:

      您可以对表单使用 jquery 序列化:

      //Form data:
      var aData = $('#formID').serializeArray();
      //Create param string:
      var sSend = $.param(aData);
      //Call ajax:
      $.post('signup.php', sSend, function(sData){
         ...
      });
      

      或者对于值:

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

      在你的 php 中更好:

      $gender = isset($_POST['gender']) ? $_POST['gender'] : '';
      

      【讨论】:

        【解决方案4】:

        我刚刚找到答案

        $('input:radio[name=gender]:checked').val()
        

        感谢大家的帮助!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-07-25
          • 1970-01-01
          • 2011-01-11
          • 1970-01-01
          • 2012-08-14
          • 2020-09-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多