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

您可以序列化表单元素并发送,而不是像这样使用。

$("#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 回答
0

你可以试试这个:

    $('#school').change(function(){
        $.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 回答