1

選択したチェックボックスの値がエコーされない理由を知っている人はいますか?

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: 配列 ( ) 選択:

どんな助けでも大歓迎です

ダニエル

PSこれは、JavaScriptコードを取得した場所ですhttp://malsup.com/jquery/form/

機能させるために追加の JavaScript コードが必要ですか?

4

1 に答える 1

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 は、リンクから取得したもののように見える場合があります。jquery の他に、フォーム ajax アップグレードを実装するhttp://malsup.github.com/jquery.form.jsのスクリプトを含める必要があります。

<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);

それが役立つことを願っています。

于 2013-11-10T02:30:36.063 に答える