Konckout开发实例:简单的表单提交页面

<!doctype html>
<html >
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>
    KNOCKOUT LESSON 4
  </title>
  <link rel="stylesheet" type="text/css" href="css/main.css" />
  <style>
  #content1{padding:16px;}
  .errors{color: red;}
  </style>
  <script type="text/javascript" src="scripts/knockout30.js"></script>
  <script type="text/javascript" src="scripts/knockout.validation.min.js"></script>
</head>

<body>

  <div id="content1">
        <form data-bind="submit:SubmitForm">
            <div><label>用户名:</label><input data-bind="value:Name" /></div>
            <div><label>电子邮件:</label><input data-bind="value:Email" /></div>
            <div><label>地址:</label>
                <select data-bind="options:CityList,optionsText:‘Name‘,optionsValue:‘Code‘,value:City,optionsCaption:‘请选择城市‘"></select>
                <select data-bind="options:CurrentAreaList,optionsText:‘Name‘,optionsValue:‘Code‘,value:Area,optionsCaption:‘请选择区县‘"></select>
            </div>
            <div>
                <label>爱好</label>
                <select multiple="multiple" data-bind="options:Hobbies,selectedOptions:MyHobbies"></select>
            </div>
            <p data-bind="html:MyHobbies"></p>
            <div>
                <input type="submit" value="提交" />
            </div>
        </form>
  </div>

    <script type="text/javascript" src="scripts/jQuery183.js"></script>
    <script>
        ko.validation.configure({
            registerExtender:true,
            insertMessages:true,
            errorClass:‘errors‘
        });
        $(document).ready(function(){
            var ViewModel = function(){
                var self = this;
                self.Name = ko.observable("").extend({required:{message:‘请输入您的姓名‘}});
                self.Email = ko.observable("").extend({required:{message:‘请输入您的邮箱‘}}).extend({pattern:{message:‘邮箱格式非法‘,params:‘^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$‘}});
                self.City = ko.observable("");
                self.Area = ko.observable("");
                self.CityList = ko.observableArray([
                    {Name:‘北京‘,Code:1001},
                    {Name:‘上海‘,Code:1002}
                ]);
                self.AreaList = ko.observableArray([
                    {Name:‘朝阳区‘,Code:1001001,CityCode:1001},
                    {Name:‘宣武区‘,Code:1001002,CityCode:1001},
                    {Name:‘海淀区‘,Code:1001003,CityCode:1001},
                    {Name:‘通州区‘,Code:1001004,CityCode:1001},
                    {Name:‘静安区‘,Code:1002001,CityCode:1002},
                    {Name:‘徐汇区‘,Code:1002002,CityCode:1002},
                    {Name:‘浦东区‘,Code:1002003,CityCode:1002}
                ]);
                self.CurrentAreaList = ko.computed(function(){
                    return ko.utils.arrayFilter(self.AreaList(),function(area){
                        return area.CityCode == self.City();
                    });
                },self);
                self.Hobbies = ko.observableArray([
                    "登山",
                    "篮球",
                    "电影",
                    "音乐"
                ]);
                self.MyHobbies = ko.observable("");
                self.SubmitForm = function(){
                    if(self.errors().length > 0){
                        self.errors.showAllMessages();
                        return false;
                    }else{
                        return true;
                    }
                }
            }

            var currentViewModel = new ViewModel();
            ko.applyBindings(currentViewModel);

            currentViewModel.errors = ko.validation.group(currentViewModel);
        });
    </script>

</body>
</html>
时间: 2024-08-29 20:55:17

Konckout开发实例:简单的表单提交页面的相关文章

Java+MyEclipse+Tomcat (二)配置Servlet及简单实现表单提交

在Java EE应用编程中Servlet是基础,JSP是建立在Servlet基础之上的,其他Web框架如Struts.WebWork和Spring MVC都是基于Servlet的.本文主要讲述MyEclipse和Tomcat配置Servlet的过程和简单实现表单提交功能. 希望对大家有所帮助,参考书籍<Java EE企业级应用开发实例教程>. Java+MyEclipse+Tomcat (一)配置过程及jsp网站开发入门 一. Servlet编程 1.Web基础知识 在讲述Servlet之前,

每天一个JavaScript实例-防止重复表单提交

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-防止重复表单提交</title> <style> #refresh{ display: none; width:200px; height

ASP.NET Razor简单的表单提交处理的代码

如下内容段是关于ASP.NET Razor简单的表单提交处理的内容. <!DOCTYPE html><html> <body> br/>@{if (IsPost){ string companyname = Request["CompanyName"]; string contactname = Request["ContactName"]; <p>You entered: <br> Company

jQuery最简单的表单提交方式

第一步:绑定事件 常用的与ajax相关的事件参考如下: 1.$(selector).click(function) 2.$(selector).change(function) 3.$(selector).keyup(function) 4.$(selector).submit(function) 提交表单前,阻止提交按钮的默认的action,或返回false,如: 1.阻止提交按钮的默认的action $("form").submit(function(e){    e.preven

form表单提交页面不发生跳转

<form id="registSubmit" enctype="multipart/form-data" action="/dataTable/uploading" method="post" target="form_iframe" onclick="saveReport()"> 上传文件:<input type="file" id="

原生JS 表单提交验证器

一.前言 最近在开发一个新项目,需要做登陆等一系列的表单提交页面.在经过“缜密”的讨论后,我们决定 不用外部流行的框架,如bootstrap,由于我负责的模块 仅仅是其中的一部分,因此少数服从多数,无奈只能抛弃bootstrap等提供的布局,样式以及验证等一些列如此方便的组件,(他们拒绝使用的原因也令人发省). 那么问题就来了. 二.设计理念 我们都知道,在抛开外部框架,仅仅用JS+css+html 去开发一个页面,是很复杂的,尤其是在没有美工,前台的情况下.其实bootstrap 在一定程度上

jQuery表单提交

[转自]jQuery最简单的表单提交方式 第一步:绑定事件 常用的与ajax相关的事件参考如下: 1.$(selector).click(function) 2.$(selector).change(function) 3.$(selector).keyup(function) 4.$(selector).submit(function) 提交表单前,阻止提交按钮的默认的action,或返回false,如: 1.阻止提交按钮的默认的action $("form").submit(fun

PHP处理Checkbox复选框表单提交

PHP表单提交页面复选框的名称后要加[],这样在接收页面才能得到正确的结果.表单提交后得到的是一个数组,然后通过访问数组元素得到表单的具体vaule值.得到的checkbox1的值,默认有</br>换行. 表单代码: <form action="" method="post" name="asp"> 复选框1:<input type="checkbox" name="checkbox1[

Swift3.0服务端开发(二) 静态文件添加、路由配置以及表单提交

今天博客中就来聊一下Perfect框架的静态文件的添加与访问,路由的配置以及表单的提交.虽然官网上有聊静态文件的访问的部分,但是在使用Perfect框架来访问静态文件时还是有些点需要注意的,这些关键点在其官方文档上并未提出.今天我们要做的事情就是通过浏览器访问静态文件,然后在静态文件中使用form表单往指定的路由上进行提交相应的数据. 一.静态文件的添加与访问 1.未使用Xcode管理的Perfect的静态文件根目录的配置 在PHP开发或者Java Web开发中,都有一个根目录来存储相应的静态文