zoukankan      html  css  js  c++  java
  • 《MVC +EasyUI 》——表单的提交

        之前用AJax给Controller传递參数,然后再调用服务端的方法对数据库进行更改,今天碰到一个新的方法,就是表单的提交。这样能够省去AJax穿參。当表单提交后。我们能够获取表单上控件中的值,然后再调用服务端的方法对数据库进行更改。以下的一张截图是详细的业务需求。


        一、要实现的功能:从上面这个表单中,获取控件中的值。然后传递给后台。以下是表单代码。

        二、表单代码

    <div id="Editwin" class="easyui-window" title="编辑班级信息" style=" 400px; height: auto;top:105px" data-options="closed:true,collapsible:false,minimizable:false,maximizable:false">
        <div style="margin-top: 30px; margin-bottom: 30px; margin-left: 70px;">
            <form id="EditForm" method="post">
                <table>
                    <tr>
                        <td>班级名称:</td>
                        <td>
                             <input class="easyui-validatebox" type="text" id="EditClassName" name="ClassName" data-options="required:true,validType:['maxLength[20]']"/>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <input style="display:none"  class="easyui-textbox" type="text" id="EditClassID" name="ClassID" data-options="required:true"/>
                        </td>
                    </tr>
                    <tr>
                        <td>所属机构:</td>
                        <td>
                            <input id="EditOrganizationID" class="easyui-combobox" name="OrganizationName1" data-options="required:true"/>
                    </tr>          
                    <tr>
                        <td>年级:</td>
                        <td>
                            <input id="EditGradeID" class="easyui-combobox" name="GradeName" data-options="required:true"/> 
                    </tr>
    
                    <tr>
                        <td>备注:</td>
                        <td>
                            <textarea class="easyui-validatebox" id="NoteId" name="Note" validType:['maxLength[50]></textarea>
                    </tr>
                    </table>
    
                <div style="margin-top: 20px;">
                    <a class="easyui-linkbutton" data-options="iconCls:'icon-ok'" style="margin-left: 10px;" onclick="EditsubmitForm()">确定</a>
                    <a class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" style="margin-left: 60px;" onclick="EditclearForm()">取消</a>
                </div>
            </form>
        </div>
    </div>


        三、表单提交代码 

    function EditsubmitForm() {
                $('#EditForm').form('submit', {
                    url: "/BasicClass/ModifyClassInfo",
                    onSubmit: function () {               //表单提交前的回调函数
                        var isValid = $(this).form('validate');//验证表单中的一些控件的值是否填写正确,比方某些文本框中的内容必须是数字
                        if (!isValid) {
                        }
                        return isValid;	// 假设验证不通过,返回false终止表单提交
                    },
                    success: function (data) {    //表单提交成功后的回调函数。里面參数data是我们调用/BasicClass/ModifyClassInfo方法的返回值。
                        if (data > 0) {
                            $.messager.show({
                                title: '提示消息',
                                msg: '提交成功',
                                showType: 'show',
                                timeout: 1000,
                                style: {
                                    right: '',
                                    bottom: ''
                                }
                            });
                            $('#dg').datagrid('reload');    // 又一次加载当前页面数据  
                            $('#Editwin').window('close');  //关闭窗体
                        }
                        else {
                            $.messager.alert('提示信息', '提交失败,请联系管理员!', 'warning');
                    }
                    }
                });
    }

        四、后台Controller获得表单中的数据

       //获得要加入的班级的名称
                    string ClassName = Request.Form["ClassName"];
                    //获得班级ID
                    Guid ClassID = new Guid(Request.Params["ClassID"]);
                    string ClassNote = Request.Form["Note"];

        五、小结

        初学乍练,感觉比AJax传參好用多了,由于AJax穿參时须要将各个參数的名字所有写进去。而表单提交时,默认将表单中的内容所有传送过去。这样表单中仅仅要有什么数据我们就能够在后台获取什么数据,当然了。这些数据是提前绑定好的,或者是我们之前填写好的。给上面这个表单中控件绑定默认数据在我前几篇博客中有,大家能够看看。


  • 相关阅读:
    C++编译器详解(二)常见precompiling 指令介绍
    C++编译器详解(一)
    Music
    jQuery语法
    Freedom DownTime
    A
    Map类
    伤不起:File.toPath() & Paths.get()
    在不同浏览器中空格显示的效果不一致的问题(主要是宽度不一致)
    关于xmlhttp会使用ie的缓存的问题及解决
  • 原文地址:https://www.cnblogs.com/llguanli/p/8716448.html
Copyright © 2011-2022 走看看