JavaScript DHTML/Ext JS/Submit Button

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

Call form submit method

 
<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 myform = new Ext.FormPanel({ 
      url: "your.php",
      renderTo: Ext.getBody(),
      frame: true,
      title: "Title",
      width: 250,
      items: [
                {
            xtype: "textfield",
            fieldLabel: "Title",
            name: "title",
            allowBlank: false,
            listeners: {
              specialkey: function(f,e){
                if (e.getKey() == e.ENTER) {
                    alert("about to submit");
                  myform.getForm().submit();
                }
              }
            }
            }
        ]
    });

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



Define handler for success and failure handler

 
<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>



Get form 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>



Set url for your 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>