2012-01-06 16 views
-2

我有一個窗體上顯示一些文本字段和兩個按鈕。第一個按鈕是保存,第二個按鈕被重置。我呼籲更新按鈕功能使用該更新數據..保存在ajax後刷新表單數據

$.ajax({ 
     url:"url", 
     data:something 
     and so on...}); 

此功能在DB更新數據和告警成功響應成功消息。我打開重置按鈕,舊數據填寫在表單中,但我想要所有表單域中的最新更新數據。我怎樣才能做到這一點?

+0

第一個按鈕被更新,第二個按鈕被重置。 – 2012-01-06 14:02:33

+0

我認爲任何人都需要更多的例子/解釋來幫助你。 – FlabbyRabbit 2012-01-06 14:03:57

+0

我在更新按鈕的onclick上調用一個函數,並調用一個javascript函數updateform(),它使用$ .ajax函數更新數據。在更新數據之後,javascript會提示成功消息「成功保存數據」。但是我的頁面上剩餘的表單通過點擊重置按鈕來重置表單的舊數據。這就是問題所在。我需要在表單域中更新數據。 – 2012-01-06 14:06:50

回答

0

更新您輸入的value屬性,復位按鈕被點擊時的方式將其重置這些形式投入到新的值,而那麼無論是默認的。

$('input').change(function() { 
    $(this).attr('value', $(this).val()); 
}); 

小提琴演示http://jsfiddle.net/muXHM/

另一個小提琴演示 :: http://jsfiddle.net/muXHM/1/ 這一個你可以更好的看到效果,而不是更新的輸入變化值,我添加了一個保存按鈕你必須先點擊。要使用,在第一個輸入中鍵入一些值,點擊重置,它會重置值爲'測試',在其中鍵入其他內容,然後點擊保存,然後重置,然後它不會改變...鍵入不同的東西那裏再次點擊重置,現在它重置爲您保存的值。

+0

但是如果由於用戶可以重置舊數據的某些原因。 – 2012-01-06 14:28:43

+0

當數據成功保存時,您只能使用代碼更新輸入... I.E.在你的更新按鈕的AJAX成功回調響應中,它確實保存了。看看第二個小提琴演示,在這個例子中的'保存'按鈕是你的'更新'按鈕,除非你的ajax調用帶有解析的響應,看看保存是否成功,你只需將它移入內部那裏。 – 2012-01-06 14:30:43

0

您可以使用:
$("#element").prop("defaultValue", "new value");

0

如果你想擁有從DB中檢索到你的表單字段的最新數據,你需要做一個Ajax調用了點。

你可以在你的數據庫更新數據後返回一個JSON對象,並在回調函數修改文本字段值。

或者你可以創建一個onclick事件處理程序復位按鈕,並用$獲得()的最新數據從數據庫檢索,然後修改在回調函數的格式文本字段的值。

回調函數應該是這樣的: 功能(結果){。 // EVAL結果作爲JSON對象 $( 「輸入[名稱= 'myTextField將']」)VAL(result.whatever) }