2013-04-04 90 views
0

我有一個頁面,通過使用for循環生成表。 (語法在我的PHP文件工作正常,這只是一個複製粘貼,所以忽略語法錯誤,因爲這就像一個原型)ajax導致停止進一步的行動在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中的內容嗎?

+0

你能解釋一下「但是,一旦我是第一次做,下面的下拉列表不起作用」 .. – Rishabh 2013-04-04 12:15:43

+0

@Rishabh由於在我的頁面中有幾行,每個都包含一個下拉列表,它由第一部分的for循環生成。 – tony9099 2013-04-04 12:17:06

+0

和所有下拉菜單都有相同的「學校」ID? ids不應該重複。 – Rishabh 2013-04-04 12:18:21

回答

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> 

阿賈克斯部分

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; 
} 
+0

Rishabh ,仍然不起作用。順便說一句,我已成功改變:ListOnSuccess成功:功能(響應){ 警報(「數據保存成功」); }並在問題內編輯。 – tony9099 2013-04-04 14:10:57

+0

可以更詳細些什麼不工作?你是否看到網頁或瀏覽器控制檯中的任何錯誤? – Rishabh 2013-04-04 14:18:06

+0

我沒有看到任何錯誤。實際上,在添加代碼之後,當我按下其他下拉列表時,我得到了成功的警告(現在我已經警惕成功),但PHP文件從不會被調用。 – tony9099 2013-04-04 14:19:06