我有一个包含2个按钮的输入表单,提交并保存。最初两个按钮都将被禁用。一旦用户输入数据,将启用提交按钮并提交表单,该表单将转至servlet进行验证(通过验证,我的意思是我发送用户ID和密码以检查它是否存在于数据库中)< / p>
这是我的提交按钮处理程序:
validateForm: function(button){
console.log('Validatingform');
var formData=button.up('form').getForm();
if(formData.isValid()){
Ext.Ajax.request({
url : 'MyServlet',
params : {
inputData:Ext.encode(formData.getValues()),
validate:"valid"
},
scope : this,
success : this.onValid,
failure : this.onInvalid
});
}
},
onValid: function(response,button){
console.log("Valid");
//on valid-enable save button,disable submit button
Ext.getCmp('myFormSubmit').setDisabled(true);
Ext.getCmp('myFormSave').enable();
},
检查验证后。在OnValid方法中,我启用了“保存”按钮并单击“保存”按钮以立即保存表单数据。
但是,因为表单已经提交,我的servlet的输入是“null”。
我不确定如何保存用户为多个提交输入的此表单数据。任何人都可以指导我解决这个问题。
提前致谢
答案 0 :(得分:1)
保存按钮/表单上的数据是否合适?可能不是最好的想法,但它是一个想法
validateForm: function(button){
console.log('Validatingform');
var formData=button.up('form').getForm();
if(formData.isValid()){
//
if (!button.savedData){
button.savedData = formdata;
}
//
Ext.Ajax.request({
url : 'MyServlet',
params : {
inputData:Ext.encode(formData.getValues()),
validate:"valid"
},
scope : this,
success : this.onValid,
failure : this.onInvalid
});
}
},
onValid: function(response,button){
console.log("Valid");
var submitBtn = Ext.getCmp('myFormSubmit');
//on valid-enable save button,disable submit button
submitBtn.setDisabled(true);
Ext.getCmp('myFormSave').enable();
if (submitBtn && submitBtn.savedData){
formdata = submitBtn.savedData;
delete submitBtn.savedData;
}
//
},
onInvalid: function(response,button){
var submitBtn = Ext.getCmp('myFormSubmit');
if (submitBtn && submitBtn.savedData){
formdata = submitBtn.savedData;
delete submitBtn.savedData;
}
}