我有一个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 :(得分:0)
在更彻底地搜索documentation之后,我发现默认情况下表单会自行重置。去搞清楚。有一个字面值resetForm
需要设置为false
。
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:false)
Change Submit
Name: [ Bob ] --> Name: [ Bobby ] --> Name: [ Bobby ]
那么为什么默认清除表单?我能理解它的唯一方法是在快速输入形式的背景下。填写表格后,它会清除,以便您可以快速输入另一条记录。
示例表单字段行为(resetForm:true)
Change Submit
Name: [ ] --> Name: [ Bobby ] --> Name: [ ]
Name: [ ] --> Name: [ David ] --> Name: [ ]
Name: [ ] --> Name: [ Susan ] --> Name: [ ]