118不限层级表单的实现逻辑

<!DOCTYPE html>
<html lang="en" ng-app="appModule" ng-controller="ancestorCtrl">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body >
<p> 不限层级表单的实现逻辑</p>
<p> 1、需求描述:</p>
<p>(1)一个表单,包含select1(option1)和input1; </p>
<p>(2)当点击option1时,向后台发送请求,返回值包含select2(option2)和input2,前端把返回值放到select1下面;</p>
<p>(3)当点击option2时,向后台发送请求,返回值包含select3(option3)和input3,前端把返回值放到select2下面......</p>
<p>2、实现逻辑,存放option返回值的div及其内的select通过各自id的index来区分 </p>
<p>方法一:jQuery实现。 </p>
<p>(1)在div1内,上面放select1,下面放另一个div2,作为option1返回值的存放仓库; </p>
<p>(2)当点击option2时,在div2内,上面放select2,下面放另一个div3,作为option2返回值的存放仓库...... </p>
<p>方法二、angular1实现。 </p>
<p>(1)自定义标签1,在自定义标签1内部,根据自定义标签1的相关变量,决定是否再调用自定义标签1,如此循环。 </p>
<p>(2)相关伪代码如下: </p>
<my-parent attrs=‘allObject[index]‘></my-parent>
</body>
</html>
<script>
    /* app.directive(‘myParent‘,function () {
        var index=1;
        var url= ‘‘;
            url+= ‘<select ng-change="sendClick() id={{index}}>‘;
            url+= ‘<option">第一段</option>‘;
            url+= ‘<option">第二段</option>‘;
            url+= ‘<option">第三段</option>‘;
            url+= ‘</select>‘;
            url+= ‘<div ng-if="isBoolean‘+index+‘">‘;
            url+= ‘<my-parent attrs="allObject‘+index+‘"></my-parent>‘;
            url+= ‘</div>‘ ;
            url+= ‘</div>‘;
        return {
            template:url,
            restrict: ‘E‘,
            controller:function ($scope) {
                $scope[isBoolean+index]=false;
                $scope.sendClick = function () {
                    $scope[isBoolean+index]=true;
                    index+=1;
                    //此处向后台发送请求,给$scope[allObject+index]赋值
                };
            },

        }
    });  */
</script>

  

原文地址:https://www.cnblogs.com/gushixianqiancheng/p/11051777.html

时间: 2024-08-02 13:05:20

118不限层级表单的实现逻辑的相关文章

vue view 表单验证正常逻辑

<template> <Form ref="formInline" :model="formInline" :rules="ruleInline" inline> <FormItem prop="user"> <InputNumber :max="100" :min="0" step="1" v-model="for

利用jquery.validate以及bootstrap的tooltip开发气泡式的表单校验组件

表单校验是页面开发中非常常见的一类需求,相信每个前端开发人员都有这方面的经验.网上有很多成熟的表单校验框架,虽然按照它们默认的设计,用起来没有多大的问题,但是在实际工作中,表单校验有可能有比较复杂的个性化的需求,使得我们用这些插件的默认机制并不能完成这些功能,所以要根据自己的需要去改造它们(毕竟自己还不到那个写一个完美的校验框架的层次).我用过formValidation这个校验框架,虽然它跟bootstrap配合地很好,但是校验风格太死板,不太满足个性化的场景:后来我找到了jquery.val

创建通用的表单校验逻辑库

表单校验一直是web开发中最基础,也是最不好做的一个环节.说是基础,相信多少从事web开发的人第一件事就是学习如果基于js.jQuery实现表单验证工作.在10年前,甚至是5年前,JavaScript还是被多数工程师轻视的一门语言,那时候很多人认为JavaScript充其量也就能完成一部分表单校验的工作.由此可知表单校验是多么基础的一件事情:说它不好做,是因为表单校验往往工作量极大,可以说是一个没太大技术含量但是很耗费体力的活,而且在一些对交互友好性要求较高的项目中,表单校验就更加费事了. 于是

jquery validate表单验证插件-推荐

1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家.     1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素  3.鼠标离开后的正确.错误提示及鼠标移入时的帮助提醒 对于初学者而言,html表单验证是一项极其琐碎的事情.要做好表单验证,需要准备以下基本要素: 1.html表单结构:包含需要校验的表单元素: 2.js逻辑控制:在需要校验的表单元素上绑定事件,如点击.获取焦点.失去焦点等事件,并设置这些事件对应的执行函数: 3.css样式设置:针对需要校验的

Django中的Form表单验证

回忆一下Form表单验证的逻辑: 前端有若干个input输入框,将用户输入内容,以字典传递给后端. 后端预先存在一个Form表单验证的基类,封装了一个检测用户输入是否全部通过的方法.该方法会先定义好错误信息的字典,并会遍历类的所有属性(对应前端待验证的输入域),调用各自的验证方法,将错误信息(两类,必要与否以及格式正确与否)存入字典,并得出最终的验证结果.在使用时,需要定义继承自Form基类不同的Form类,以对应有着不同输入域的Form表单.在拿到前端给的字典前,要先初始化自定义From类,直

jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法

jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法 一丶什么是JQuery JQuery: ???????JQuery是js的一个库,高度封装了js常用的功能,提供简便方法,调用简单,提高开发效率 ??????js库是包含了把复杂的功能封装到简单的方法中 JQuery的两大特性: ???????链式编程:可以.的形式实现多个功能 ?

JS-特效 ~ 05. 缓动框架兼容封装/回掉函数/兼容透明度/层级、旋转轮播图、正则表达式、验证表单注册账号、

缓动函数中opcity  写百分值的值 JS一般不用小数运算,会照成精度丢失 元素的默*认透明度是 层级一次性赋值,不缓动 利用for-in为同一个父元素的子元素绑定属性 缓动框架兼容封装/回掉函数/兼容透明度/层级 function animate(ele,json,fn){ //先清定时器 clearInterval(ele.timer); ele.timer = setInterval(function () { //开闭原则 var bool = true; //遍历属性和值,分别单独处

JavaScript表单验证和正则表达式

JavaScript表单验证 分为四类: 1.非空验证 常用于用户名等 2.相等验证 常用于验证两次输入的密码 3.范围验证 常用于年龄等 4.正则验证 用于手机号,邮箱号等 以下是实例: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html

Java模拟post提交表单数据

1 package test; 2 3 import java.io.BufferedReader; 4 import java.io.DataOutputStream; 5 import java.io.IOException; 6 import java.io.InputStreamReader; 7 import java.net.HttpURLConnection; 8 import java.net.URL; 9 import java.net.URLEncoder; 10 11 pu