ajax导致停止php页面上的进一步操作

时间:2013-04-04 12:06:09

标签: php html ajax function reload

我有一个页面,它通过使用for循环生成表格。 (语法在我的php文件中运行正常,这只是一个复制粘贴,所以忽略语法错误,因为这就像一个原型)

<form id="formid" name="formName" method="post" action="">                   
<input type="hidden" name="class" value="someclass">
<input type="hidden" name="section" value="somesection">
<select name="school" id="school">          
 $lengthArray = count($Array);                  
for ($k = 0; $k < $lengthArray ; $k++)
  {
    <option> . urldecode($Array[$k]) . </option>;
  }             
</select>       
</form>

我的Ajax如下:

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

    var data = $("#formid").serialize();
    jQuery.ajax({
        url: 'unexisting.php',
        type: "POST",
        dataType: "xml",
        data: data,
        async: false,
        success:function (response) 
                  {      
                    alert("Data Save Successful");
                  }
    });
}

每当我第一次从列表中选择一所学校时(列表中有很多),我可以调用unexisting.php,但是一旦我第一次这样做,下面的下拉列表就不会功能。我可以看到其中的所有学校并选择一个值,但这样做不会调用unexisting.php文件。

我哪里错了?我应该在onSuccess中修复内容吗?

1 个答案:

答案 0 :(得分:0)

检查是否有效

<form id="formid" name="formName" method="post" action="">                   
<input type="hidden" name="class" value="someclass">
<input type="hidden" name="section" value="somesection">
<select name="school" class="school" id="school1">          
 <?php $lengthArray = count($Array);                  
for ($k = 0; $k < $lengthArray ; $k++)
  { ?>
    <option value="<?php echo urldecode($Array[$k]) ?>"> 
      <?php echo urldecode($Array[$k]) ?> 
    </option> 
      <?php
  } ?>
</select>       
</form>

Ajax部分

var current_changed_id = '';
$(".school").change(function () {
current_changed_id = $(this).attr('id');

var data = $("#formid").serialize();
jQuery.ajax({
    url: 'unexisting.php',
    type: "POST",
    dataType: "xml",
    data: data,
    async: false,
    success: ListOnSuccess
});

function ListOnSuccess(xmlindata) 
{

    $('#'+current_changed_id).attr("disabled", "disabled");
    $('#'+current_changed_id).disabled = true;
}