单选按钮不通过AJAX传递值

时间:2013-01-04 21:22:16

标签: jquery html ajax forms radio-button

有谁知道为什么没有回显所选复选框的值?

Javascript代码:

<script src="jquery.min.js" type="text/javascript"></script>
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.form.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
<!--
// wait for the DOM to be loaded 
$(document).ready(function()
{
    // bind 'vgsForm' and provide a simple callback function 
    $('#vgsForm').ajaxForm(function()
    {
        $('#Suggestion').load('process_answers.php');
    }); 
});

HTML表单

<div id="Questions">
<form id="vgsForm" action="process_answers.php" method="get" >
<div id="Q1">
<label><input type="radio" name="q1option" value="Less than 16" />Less than 16</label><br />
<label><input type="radio" name="q1option" value="16 or more" />16 or more</label>
</div>

process_answers.php

echo('$_GET: '.print_r($_GET, true));

//Get Question 1
if (isset($_GET['q1option'])) 
{
    $q1option = $_GET['q1option'];
} 
else 
{
    $q1option = NULL;
}

echo("Selected: ".$q1option);

这是赞同的:

  

$ _ GET:Array()已选择:

感谢任何帮助

丹尼尔

P.S。这是我获得JavaScript代码http://malsup.com/jquery/form/

的地方

我是否需要任何其他JavaScript代码才能使其正常工作?

1 个答案:

答案 0 :(得分:0)

您似乎在HTML和内联JS代码中都存在问题。 请尝试以下代码填写表单:

<div id="Questions">
<form id="vgsForm" action="process_answers.php" method="POST" >
   <label><input type="radio" name="q1option" value="Less than 16" />Less than 16</label><br />
   <label><input type="radio" name="q1option" value="16 or more" />16 or more</label>
   <input type="submit" value="Submit" />
</form>
</div>

HTML可能看起来像是从链接中获得的HTML。除了jquery之外,你还必须包含来自http://malsup.github.com/jquery.form.js的脚本,它实现了ajax升级的形式。

<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
    <script src="http://malsup.github.com/jquery.form.js"></script> 

    <script> 
        // wait for the DOM to be loaded 
        $(document).ready(function() { 
            // bind 'vgsForm' in order to upgrade form to use ajax 
            $('#vgsForm').ajaxForm(function() { 
                alert("Form was sent successfully."); 
            }); 
        }); 
    </script> 
</head> 

至于process_answers.php,请确保您正在读取POST全局数组,因为我们已将其设置为表单中的方法:

echo('$_POST: '.print_r($_POST, true));    
//Get Question 1
if (isset($_POST['q1option'])) 
{
    $q1option = $_POST['q1option'];
} 
else 
{
    $q1option = NULL;
}

echo("Selected: ".$q1option);

希望有所帮助。