简体   繁体   English

$ .post,单选按钮值,jquery

[英]$.post, radio button value, jquery

I have trouble to pass radio button value by using $.post can anyone help me find out the problems? 我无法通过使用$ .post传递单选按钮值。任何人都可以帮我找出问题吗?

i got Undefined index:gender 我得到了未定义的索引:性别

<?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>

Try changing this line: 尝试更改此行:

{ gender: signup.gender.value }

To this: 对此:

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

Of if you wish to keep it as vanilla javascript, you need to explicitly use the forms collection: 如果您希望将其保留为vanilla javascript,则需要明确使用forms集合:

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

You can use jquery serialize for forms: 您可以对表单使用jquery序列化:

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

or for the value: 或者价值:

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

and in your php better: 并在你的PHP更好:

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

Try this... 尝试这个...

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

Greetings. 问候。

i just found the answer 我刚刚找到了答案

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

thanks for everyone's help! 谢谢大家的帮助!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM