form= new Ext.FormPanel({
renderTo: Ext.query(".foo")[0],
items:[]
});
在firebug HTML代码中:
<div class="foo" id="ext-gen1008">
<div id="form-1014" class="x-panel x-panel-default" role="form" style="width: 1024px; height: 2px;">
<div id="form-1014-body" class="x-panel-body x-panel-body-default x-panel-body-default" style="left: 0px; top: 0px;">
<div class="x-clear" role="presentation" id="ext-gen1011"></div>
</div>
</div>
</div>
表格标签在哪里?或者没有表格标签,这个表格是由Ajax提交的吗?
答案 0 :(得分:4)
你不应该关心html。 ExtJS是一个javascript框架,可以为您处理这些事情。 (您不应该编写与标签相关的代码吗?在将来的版本中,sencha可以对其进行修改,如果您这样做,则必须重写/更新代码。)
如果您为表单提供了url参数,则只需在表单上调用.submit()
即可提交值。
文档示例:
Ext.create('Ext.form.Panel', {
title: 'Simple Form',
bodyPadding: 5,
width: 350,
// The form will submit an AJAX request to this URL when submitted
url: 'save-form.php',
// Fields will be arranged vertically, stretched to full width
layout: 'anchor',
defaults: {
anchor: '100%'
},
// The fields
defaultType: 'textfield',
items: [{
fieldLabel: 'First Name',
name: 'first',
allowBlank: false
},{
fieldLabel: 'Last Name',
name: 'last',
allowBlank: false
}],
// Reset and Submit buttons
buttons: [{
text: 'Reset',
handler: function() {
this.up('form').getForm().reset();
}
}, {
text: 'Submit',
formBind: true, //only enabled once the form is valid
disabled: true,
handler: function() {
var form = this.up('form').getForm();
if (form.isValid()) {
form.submit({
success: function(form, action) {
Ext.Msg.alert('Success', action.result.msg);
},
failure: function(form, action) {
Ext.Msg.alert('Failed', action.result.msg);
}
});
}
}
}],
renderTo: Ext.getBody()
});
无关但有用,在Ext 4.x之前我们使用new
关键字创建新组件,现在建议使用Ext.create
。而不是Ext.extend
,我们现在使用Ext.define
并添加扩展参数。