JavaScript DHTML/Ext JS/Form Mask
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>