• 表单提交(Basic Form Submit)


    In this small tutorial, we'll try to build an Ext form that will submit in the tradional way, like all regular html forms

    Introduction

    As a programmer, you may know PHP (or ASP, or any other server-side language) and the tradional way of working with user-interfaces. You build forms in your server-side language, and output them in plain-text html to the end-user. You may use a templating engine, but in the end, you're sending nicely formatted html to the end-user.

    With Ext, it's really easy to build nice-looking forms and interfaces, so you'd like to use that. But you also have a lot of code that already works, which you'd rather keep than converting all of it to handle JSON-formatted data etc.

    At least, that was and is my current situation.

    Getting Started: the HTML page

    You've most probably already read how to include all required Ext-code in your page, but let me repeat that for you: (place this in the head-section of your html doc)

    <title>A tradional form</title>
    <!-- Include Ext and app-specific scripts: -->
    <script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="ext/ext-all-debug.js"></script>
     
    <!-- Include your own Javascript file here - adapt the filename to your filename-->
    <script type="text/javascript" src="ext/mytestscript.js"></script>  
     
     
    <!-- Include Ext stylesheets here: -->
    <link rel="stylesheet" type="text/css" href="ext/resources/css/ext-all.css">

    Next to that, your page certainly needs a place where we'll render the form. (put this in the body of your page)

    <div id="mytradionalform"></div>

    That's it, for you html code. You can put this in a regular html file (e.g. form.html), or you can output it via a server-side script. Doesn't matter.

    The Javascript code

    Next, we'll build the Javascript code. Best practice seems to be to put this in a separate file. I've called it "mytestscript.js" (see html above). Doesn't matter how you call it, just make sure to reference the correct file.

    See the code below.

    Ext.onReady(function(){
     
    	var simple = new Ext.form.FormPanel({
     
     
            standardSubmit: true,
     
     
            frame:true,
            title: 'Register',
     
             350,
            defaults: { 230},
            defaultType: 'textfield',
    		items: [{
                    fieldLabel: 'Username',
                    name: 'username',
                    allowBlank:false
                },
    			{
                    inputType: 'hidden',
                    id: 'submitbutton',
                    name: 'myhiddenbutton',
                    value: 'hiddenvalue'
                }
     
            ],
            buttons: [{
                text: 'Submit',
                handler: function() {
    		simple.getForm().getEl().dom.action = 'test.php';
    	        simple.getForm().getEl().dom.method = 'POST';
                    simple.getForm().submit();
                }
            }]
     
     
        });
     
     
     
        simple.render('mytradionalform');
     
     
     
    });

    Important part of this script are:

    • The "standardSubmit: true" line, which will make sure the form is submitted via the standard way
    • The handler for the submit button. At first I thought adding "standardSubmit: true" would be sufficient, but it's not.
    • simple.render() says where the form should be places. if you change the id of the <div> tag in your html, don't forget to change this name too
  • 相关阅读:
    Elasticsearch5.3 学习(一):安装、Yii2.0 下载es扩展
    lnmp 环境require(): open_basedir restriction in effect 错误
    Ueditor编辑器图片上传到万象优图
    Linux curl 模拟form表单提交信息和文件
    CP936 转换成 UTF-8
    wamp 两个不同的php.ini
    PHP浮点数运算精度造成的,订单金额支付经常少1分的问题
    进制相关:存储与转换
    Python的数据类型
    pycharm+PyQt5 开发配置
  • 原文地址:https://www.cnblogs.com/meetrice/p/1206176.html
Copyright © 2020-2023  润新知