簡體   English   中英

表單驗證后丟失OnChange

[英]Lost OnChange after form Validation

我正在使用codeigniter,並且在選擇下拉列表時使用onchange可以正常工作,並且我得到了第二個字段(國家(地區)->城市)。 當我提交有錯誤的表單時,頁面會重新加載並顯示錯誤,但是我的onchange停止工作。 有什么想法嗎? 嗯,這就是我在做什么。 用戶進入主頁並填寫表格,onchange正在工作。 用戶然后提交帶有錯誤的表單,我檢查驗證並使用相同的onchange函數加載新頁面(注冊)。 我試圖將函數名稱(getLocal)更改為另一個名稱,但結果是相同的。 試圖使用live。(“ change”,getLocal)並且結果是相同的,在注冊頁面上沒有觸發...

 
function getLocal(){
    $("#city").load("home/ajaxlocal", {country: $(this).val()} );
   //alert($(this).val());

    return false;
}

..............

$js = 'id="country"';
    
    $(document).ready(function() {
    $("#country select").bind("change", getLocal);
        });
    
td echo form_label('Country :', $country); 
td id="country">echo form_dropdown('country', $country,$ct,$js);

如果您不重新加載頁面,但是使用AJAX重新加載元素,則在ready()函數中指定這些新元素時,jquery將不會綁定到這些新元素。

$(document).ready(function() {
    $("#country select").bind("change", getLocal);
});

這正在加載此onload-嘗試使用.live()

http://api.jquery.com/live/

此方法是將事件處理程序附加到元素的基本.bind()方法的變體。 調用.bind()時,jQuery對象引用的元素將附加到處理程序; 稍后引入的元素不需要,因此它們將需要另一個.bind()調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM