使用Ext Viewport进行页面布局时Panel中的sumit按钮无法提交表单数据

使用Ext进行页面布局的做法是使用viewport(可以看到如下的代码):

  1. var viewport = new Ext.Viewport({
  2.        layout:'column',
  3.     //autoScroll:true,
  4.        items:[topp,botp]
  5. });

topp,botp分别对应由下面代码中的top,bot div构建的Ext.Panel对象:

  1. <body>
  2. <form id="form">
  3.    <div id="top">
  4.        日期<input type="text"/><input type="submit" value="查询"/> 
  5.    </div>
  6.    <div id="bot" style="overflow-x:auto;overflow- y:auto;width:100%;height:100%;">
  7.     sssssssssssssssssssssss
  8.    </div>
  9.   </form>
  10. </body>

这个代码是form想包含一个或两个div布局元素,使用viewport来布局页面时,这种form是被忽略掉的,所以点击查询按钮表单不提交。

 

解决的办法一种是form移到div元素中,如下:

  1. <body>
  2. <div id="top">
  3.  <form id="form">
  4.        日期<input type="text"/><input type="submit" value="查询"/> 
  5.      </form>
  6.    </div>
  7. <div id="bot" style="overflow-x:auto;overflow-y:auto;width:100%;height:100%;">
  8.     sssssssssssssssssssssss
  9. </div>
  10. </body>

这样一个页面可能会有多个form

 

另一种办法则是form还是在div外,但是不使用viewport进行布局了,将
var viewport = new Ext.Viewport({
       layout:'column',
      //autoScroll:true,
       items:[topp,botp]
});
改为如下代码,使用Panel布局:

  1. var onePanel = new Ext.Panel({
  2.      layout:'column',
  3.      border:false,
  4.      items:[topp,botp],
  5.      renderTo:'form',
  6.      width:Ext.getBody().getWidth()-5,
  7.      shadow:true
  8. });

你可能感兴趣的:(使用Ext Viewport进行页面布局时Panel中的sumit按钮无法提交表单数据)