2011-07-02 10 views
1

私に問題を引き起こしているMooToolsフォームリクエストがあります。MooToolsフォームリクエストは送信後に値を戻します。

フォームが送信されると、値はフォームが生成されたときの値に戻ります。

var formRequest = new Form.Request(myFormValidator, dialogBox, { 

    onSend: function(){ 
     dialogBox.setStyle('display','block'); 
     dialogBox.fade(1); 
     dialogBox.set('html','Saving'); 

    }, 
    onSuccess: function(response) { 

     dialogBox.setStyle('display','block'); 
     dialogBox.fade(1); 
    } 
}); 

答えて

0

ソリューション

もう少し徹底的にdocumentationを検索した後、私は、デフォルトでは、フォームのリセット自体を発見しました。 Go figure。リテラル値resetFormfalseに設定する必要があります。

var formRequest = new Form.Request(myFormValidator, dialogBox, { 

    resetForm: false, 
    onSend: function(){ 
     dialogBox.setStyle('display','block'); 
     dialogBox.fade(1); 
     dialogBox.set('html','Saving'); 

    }, 
    onSuccess: function(response) { 

     dialogBox.setStyle('display','block'); 
      dialogBox.fade(1); 

    } 
}); 

説明

デフォルトでは、少なくとも編集フォームのコンテキストで、直感的と思われます。レコードを変更して保存すると、変更内容は画面上にとどまり、元の状態に戻ることはありません。

例フォームフィールド挙動(resetForm:TRUE)

   Change      Submit 
Name: [ Bob ]  -->  Name: [ Bobby ]  -->  Name: [ Bob ] 

例フォームフィールド挙動(resetForm:偽)

   Change      Submit 
Name: [ Bob ]  -->  Name: [ Bobby ]  -->  Name: [ Bobby ] 

開発

の本来の意図

なぜフォームをクリアするのがデフォルトですか?私がそれを理解できる唯一の方法は、クイックエントリ形式の文脈である。フォームに記入したら、すぐに別のレコードを入力できるようになります。

例のフォームフィールドの動作(resetForm:真)

   Change      Submit 
Name: [  ]  -->  Name: [ Bobby ] -->  Name: [  ] 
Name: [  ]  -->  Name: [ David ] -->  Name: [  ] 
Name: [  ]  -->  Name: [ Susan ] -->  Name: [  ] 
+0

はMooToolsは吸う理由です。彼らは誰も見た目を考えていない「ドキュメンテーション」ページにすべての指示を隠して隠された。 – Okonomiyaki3000

関連する問題