$.post,单选按钮值,jquery

Posted

技术标签:

【中文标题】$.post,单选按钮值,jquery【英文标题】:$.post, radio button value, 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>

【问题讨论】:

到底是什么问题? 我也喜欢这个代码if (!$gender) echo $gender; :) 可能重复:***.com/questions/986120/… 我得到了未定义的索引:性别 【参考方案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()

感谢大家的帮助!

【讨论】:

以上是关于$.post,单选按钮值,jquery的主要内容,如果未能解决你的问题,请参考以下文章

无法在 JQuery 中同时读取单选按钮和选择框

jQuery如何获取选中单选按钮radio的值

JQuery - 按值查找单选按钮

JavaScript 使用jquery的单选按钮值

JavaScript 使用jQuery获取单选按钮值

尝试获取选定的单选按钮值时jQuery抛出错误