2014-07-25 17 views
0

我有此作爲下一個和後退按鈕輸入字段不顯示其設置值

這是下一個按鈕:

$(document).on('click', '#next_form', function() { 
     emailAdress = $("#email").val(); 
     $(".column_1").flip({ 
     direction: 'rl', 
     }); 
     $(".column_2").flip({ 
     direction: 'lr', 
     }); 
}); 

後退按鈕: 然後,所以我能恢復的翻轉和插入件又值:

$(document).on('click', '#back_form', function() { 
    $(".column_1").revertFlip(); 
    $(".column_2").revertFlip(); 
    $("#email").val(emailAdress); 
    console.log(emailAdress); 
}); 

但輸入字段沒有顯示的值時,我安慰記錄它似乎運行完美,但它確實顯示...任何想法,爲什麼?

+0

你能提供一個小提琴嗎? – Mark

+0

HTML的外觀如何? –

+1

發佈你的html代碼 – bumbumpaw

回答

0

基本問題是,當它翻轉的JavaScript沒有註冊的議案,所以它不知道div元素已經改變,並有新的內容。所以當我將它們翻轉回來時,同樣的事情發生了。

我發現的解決方案是偵聽DOM上的突變。

var observer = new MutationObserver(function(mutations, observer) { 
     // fired when a mutation occurs 
     console.log(mutations, observer); 
     // ... 
     $('#streetAddres').val(streetAddress); 
     $("#numberPH").val(phoneNumber); 
     $("#emailAd").val(emailAdress); 
     $("#state").val(state); 
     $("#name").val(Fname); 
     $("#city").val(city); 
     $("#zip").val(zip); 

    }); 

    observer.observe(document, { 
     subtree: true, 
     attributes: true 
     //... 
    }); 

此示例偵聽DOM上文件及其整個子樹的變化,和以元素屬性以及結構變化將上變化觸發。

我發現一個非常有用的例子,關於它的堆棧溢出的更多信息在這裏是源:Is there a JavaScript/jQuery DOM change listener?你必須向下滾動一點才能看到它。

2

您需要在document.ready之外取var Fname, emailAdress, phoneNumber;

+0

我試着把它拿出來,但是當我這樣做的時候會產生一個錯誤,說變量沒有定義 – VCabieles