0

私は3つの値を持つ次のフォームを持っています。クラス、セクション、および学校。学校は、データベースから取得されたドロップダウン リストから選択されます。(簡単にするために、ここにはそれらの詳細を含めていません..) (実際には私のコードは機能します)

<form id="form1" name="form1" method="post" action="">                   
<input type="hidden" name="class" value="someclass">
<input type="hidden" name="section" value="somesection">
<select name="school" id="school">          
<option> "school 1"  </option>  
<option> "school 2"  </option>
<option> "school 3"  </option>
<option> "school 4"  </option>
<option> "school 5"  </option>                  
</select>       
</form>

私はAjaxに対してこれを行っていますが、1つの変数(リストの項目)のみが正常に機能していましたが、クラスとセクションの値を追加した後、それらの3つをAjaxに入れることができなかったので、投稿できますそれらをPHPに。(これはコードの一部をコピペしただけなので、構文が間違っている可能性があります。)

$("#school").change(function ()
{
 resetValues();


    var school = { school:$(this).attr('value') };
    var class= { class:$(this).attr('value')    };
    var section= { section:$(this).attr('value')};

jQuery.ajax({
                  url: 'getTheData.php',
                  type: "POST",
                  dataType: "xml",
                  data:school&class&section,
                  async: false,
                  success: schoolOnSuccess
            });

そして当然、_POST を使用して getTheData.php の値を従来の方法で取得しています。

どこが間違っていますか?

4

3 に答える 3

0

これを試すことができます:

    $('#学校').change(関数(){
        $.get('getTheData.php', $('#form1').serialize(),
        関数(){
           alert('成功!');
        }、関数(){
           alert('失敗!');
        });
    });

リクエストはURLのデータとともに送信されます。

于 2013-04-04T09:11:24.447 に答える
0

これを試して、オブジェクトデータを作成してください

data:{
        'post-field-name' : 'post-field-value'
}

あなたのajaxスクリプトは次のようになります:

jQuery.ajax({
    url: 'getTheData.php',
    type: "POST",
    dataType: "xml",
    data:{
        'school' : school,
        'class' : class,
        'section' : section
    }
    async: false,
    success: schoolOnSuccess
});
于 2013-12-26T17:03:07.607 に答える
0

このように使用する代わりに、フォーム要素をシリアル化して送信できます。

$("#school").change(function ()
{
   resetValues();
   var data = $("#formid").serialize();
   jQuery.ajax({
              url: 'getTheData.php',
              type: "POST",
              dataType: "xml",
              data:data,
              async: false,
              success: schoolOnSuccess
   });
});

フォーム要素の名前を使用して、php 関数の値にアクセスできます。

この方法の利点は、フォーム要素を追加または変更するときにスクリプトを変更する必要がないことです。

于 2013-04-04T08:59:35.320 に答える