JavaScript DHTML/Ext JS/Form Mask

Материал из Web эксперт
Перейти к: навигация, поиск

Mask form afer clicking the submit button

 
<html>
<head>
<title>Hello World Window</title>
<link rel="stylesheet" type="text/css" href="ext-3.0.0/resources/css/ext-all.css" />
<script type="text/javascript" src="ext-3.0.0/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ext-3.0.0/ext-all.js"></script>
</head>
<body>
<script type="text/javascript">
Ext.onReady(function() {
    Ext.QuickTips.init();
    var onSuccessOrFail = function(form, action) {
      var formPanel = Ext.getCmp("myFormPanel");
      formPanel.el.unmask();
      
      var result = action.result;
      if (result.success) {
        Ext.MessageBox.alert("Success",action.result.msg);
      }
      else {
        Ext.MessageBox.alert("Failure",action.result.msg);
      }
    }
    
    var submitHandler = function() {
      var formPanel = Ext.getCmp("myFormPanel");
      formPanel.el.mask("Please wait", "x-mask-loading");
      
      formPanel.getForm().submit({
        url     : "your.php",
        success : onSuccessOrFail,
        failure : onSuccessOrFail
      });
    }
    var buttons = [
      {
        text    : "Submit",
        handler : submitHandler
      }
    ];
    var fp = new Ext.form.FormPanel({
      renderTo     : Ext.getBody(),
      width        : 600,
      id           : "myFormPanel",
      title        : "Our complex form",
      height       : 350,
      frame        : true,
      layout       : "vbox",
      layoutConfig : {
            align : "stretch"
        },
      items        : [
        
      ],
      buttons      : buttons
    });

});
</script> 
<div id="div1">asdf</div>
</body>
</html>



Unmask a form

 

<html>
<head>
<title>Hello World Window</title>
<link rel="stylesheet" type="text/css" href="ext-3.0.0/resources/css/ext-all.css" />
<script type="text/javascript" src="ext-3.0.0/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ext-3.0.0/ext-all.js"></script>
</head>
<body>
<script type="text/javascript">
Ext.onReady(function() {
var fieldset1 = {
  title       : "Name Information",
  flex        : 1,
  border      : false,
  labelWidth  : 50,
  defaultType : "field",
  defaults    : {
    anchor     : "-10",
    allowBlank : false
  },
  items : [
    {
      fieldLabel : "First",
      name       : "firstName"
    },
    {
      fieldLabel : "Address",
      name       : "address"
    },
    {
      fieldLabel : "Last",
      name       : "lastName"
    }
  ]
}
var onSuccessOrFail = function(form, action) {
  var formPanel = Ext.getCmp("myFormPanel");
  formPanel.el.unmask();
  
  var result = action.result;
  if (result.success) {
    Ext.MessageBox.alert("Success",action.result.msg);
  }
  else {
    Ext.MessageBox.alert("Failure",action.result.msg);
  }
}
var loadHandler = function() {
  var formPanel = Ext.getCmp("myFormPanel");
  formPanel.el.mask("Please wait", "x-mask-loading");
  formPanel.getForm().load({
    url     : "translate.php",
    success : function() {
      var formPanel = Ext.getCmp("myFormPanel");
      formPanel.el.unmask();
    }
  });
}
var buttons = [
  {
    text    : "load",
    handler : loadHandler
  }
];

var fp = new Ext.form.FormPanel({
  renderTo     : Ext.getBody(),
  width        : 600,
  id           : "myFormPanel",
  title        : "Our complex form",
  height       : 350,
  frame        : true,
  layout       : "vbox",
  layoutConfig : {
        align : "stretch"
    },
  items        : [
           fieldset1
  ],
  buttons      : buttons,
  reader       : new Ext.data.JsonReader({
    root   : "records",
    fields : [
      {
        name    : "firstName",
        mapping : "name"
      },
      {
        name    : "lastName",
        mapping : "nameLast"
      },
      {
        name    : "address",
        mapping : "addy"
      }
    ]
  
  })
});

});
</script> 
<div id="div1">asdf</div>
</body>
</html>