我的表单取决于字段中的值' a',可选字段' b'启用/禁用。
如果提交的数据带有启用b的a值,则数据库也包含b的值。 问题是,当用户随后编辑该记录时,选择禁用b的a值,我希望提交提交一个空白' value(空字符串)以清理数据库记录。
(请不要争辩说后端应该足够智能,以便在这种情况下丢弃b值......因为这是我无法控制的)
我尝试启用b字段并将其设置为''在提交之前,但仍然没有提交b字段。 (使用on-beforeaction-submit)
我甚至试图摆弄其他参数(比如originalValue)以确保b字段是脏的。我甚至测试了一个随机值(对于setValue调用),只是为了确保它不是一个空白'场地行为。但即使设置' X' ,该值未提交。什么都没有帮助。
我确定我忽视了一些非常微不足道的事情,但我无法弄明白。 因此,在花了几个小时来查找帖子和测试后,我放弃并向社区发表演讲。
THX, 下进行。
form.on('beforeaction', function(form, action) {
if (action.type == 'submit') {
//clean disabled fields before submitting
if (item!='general') {
var escid = Ext.getCmp('spcway-' + item + '-form-escid');
if (escid.disabled) {escid.enable(); escid.originalValue='abc'; escid.allowBlank=true; escid.setValue(''); escid.allowBlank=false}
if (item!='status') {
var escoption = Ext.getCmp('spcway-' + item + '-form-escoption');
if (escoption.disabled) {escoption.enable(); escoption.originalValue='abc'; escoption.setValue('')}
}
}
return true;
}
});
答案 0 :(得分:0)
将字段设置为只读而不是禁用,然后它仍将使用表单数据发布,但不会为用户编辑。
<label>disabled</label>
<input type="text" disabled/>
<label>readonly</label>
<input type="text" readonly/>
&#13;