2012-01-06 7 views
-2

いくつかのテキストフィールドと2つのボタンが表示されるフォームがあります。最初のボタンはセーブ、2番目のボタンはリセットされます。ajaxで保存した後にフォームデータを更新する

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

この関数は、DB内のデータを更新し、成功応答で成功のメッセージを警告します。私はリセットボタンを押すと、古いデータがフォームに入力されますが、私はすべてのフォームフィールドに最新の更新データが必要です。これどうやってするの?

を使用でき
+0

最初のボタンが更新され、2番目のボタンがリセットされます。 –

+0

誰かがあなたに手伝ってくれるためには、もう少し多くの例や説明が必要だと思います。 – FlabbyRabbit

+0

私は更新ボタンのonclickで関数を呼び出し、$ .ajax関数を使用してデータを更新するjavascript関数updateform()が呼び出されます。データを更新した後、成功メッセージ「成功して保存されたデータ」はjavascriptによって警告されます。私のページに残っているフォームはリセットボタンを押すことによってリセットされ、フォームの古いデータが表示されます。これは問題です。フォームフィールドに更新されたデータが必要です。 –

答えて

0

更新value属性、その方法は、それがデフォルトだったものは何でもいうし、新しい値にこれらのフォーム入力をリセットします。

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

フィドルデモhttp://jsfiddle.net/muXHM/

別のフィドルデモ :: http://jsfiddle.net/muXHM/1/ この1あなたが効果を見るより良いなどの代わりに、入力変化に値を更新することができ、私はあなたには、保存ボタンを追加しました最初にクリックする必要があります。使用するには、最初の入力に何らかの値を入力し、resetキーを押して値を 'test'にリセットし、そこに何か他のものを入力してから最初にセーブしてからリセットしてから変更しません。そこにもう一度ヒットリセットし、今それはあなたが保存した値にリセットされます。

+0

が原因でデータが保存されない場合ユーザーが古いデータをリセットできる何らかの理由があります。 –

+0

データが正常に保存されたら、コードを入力して更新するだけです。I.E.更新ボタンのAJAXコールバック応答が正しく保存されたことを確認してください。 2番目のフィドルのデモを見てください。その例の「保存」ボタンは、あなたの「更新」ボタンです。ただし、保存が成功したかどうかを調べるための応答を含むajax呼び出しがあります。そこの。 –

0

:リセットボタンがクリックされたときに、あなたの入力の
$("#element").prop("defaultValue", "new value");

0

DBから最新のデータをフォームフィールドに取得する場合は、そのためにajax呼び出しを行う必要があります。

DB内のデータを更新した後でJSONオブジェクトを返し、コールバック関数でテキストフィールドの値を修正することができます。

リセットボタンにonclickイベントハンドラを作成し、DBから最新のデータを$ .get()で取得し、コールバック関数のフォームテキストフィールドの値を修正することができます。 関数(結果){// はJSONオブジェクトとして結果をevalの $( "入力[NAME = 'がmyTextField']")のval(result.whatever) 。}:

コールバック関数は次のようになります。

関連する問題