一段JS

本文介绍了一种使用JavaScript实现的动态表单生成方法,该方法可根据不同需求自动生成包含多种输入项的表单,并对各项输入进行有效性验证。文章详细解释了如何通过JavaScript操作DOM元素来动态创建和移除表单元素,以及如何确保所有必填字段都已正确填写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
  1.     <script type="text/javascript">
  2.            function gettheValue()
  3.            {
  4.                
  5.                 var PriceNames = document.getElementsByName("thePriceName");  //显示名称
  6.                 var Prices = document.getElementsByName("thePrice");  //单价
  7.                 var MinSuns = document.getElementsByName("theMiSum");  //购买的最少数量
  8.                 var SunNums = document.getElementsByName("theSuNum");  //票务总数量
  9.                 var LastNums = document.getElementsByName("theLasNum");  //剩余数量
  10.                 var UserTypeIDs = document.getElementsByName("myUserTypeIDs"); //用户类型
  11.                 var strTheValue1="";//显示名称
  12.                 var strTheValue2="";//单价
  13.                 var strTheValue3="";//购买最少数量
  14.                 var strTheValue4="";//票务总数量
  15.                 var strTheValue5="";//剩余数量
  16.                 var strTheValue6="";//用户类型
  17.                 
  18.                 for (var i = 0; i < PriceNames.length; i++)    
  19.                  {          
  20.                         if(PriceNames[i].value.length !=0)
  21.                         {
  22.                             strTheValue1=strTheValue1+"|"+PriceNames[i].value; 
  23.                         }else
  24.                         {
  25.                            alert("请填写显示名称!");
  26.                            PriceNames[i].focus();
  27.                            return;
  28.                         }
  29.                         //--------------------------------------------------
  30.                         if(Prices[i].value.length !=0)
  31.                         {
  32.                             strTheValue2=strTheValue2+"|"+Prices[i].value; 
  33.                         }else
  34.                         {
  35.                              alert("请填写票务单价!");
  36.                              Prices[i].focus();
  37.                              return;
  38.                         }
  39.                         //----------------------------------------------------
  40.                         if(MinSuns[i].value.length !=0)
  41.                         {
  42.                             strTheValue3=strTheValue3+"|"+MinSuns[i].value; 
  43.                         }else
  44.                         {
  45.                              alert("请填写最少购买数量!");
  46.                              MinSuns[i].focus();
  47.                              return;
  48.                         } 
  49.                         
  50.                           //----------------------------------------------------
  51.                         if(SunNums[i].value.length !=0)
  52.                         {
  53.                             strTheValue4=strTheValue4+"|"+SunNums[i].value; 
  54.                         }else
  55.                         {
  56.                             alert("请填写总数量!");
  57.                             SunNums[i].focus();
  58.                             return;
  59.                         }      
  60.                           //----------------------------------------------------
  61.                         if(LastNums[i].value.length !=0)
  62.                         {
  63.                             strTheValue5=strTheValue5+"|"+LastNums[i].value; 
  64.                         }else
  65.                         {
  66.                              alert("请填写最后剩余数量!");
  67.                              LastNums[i].focus();
  68.                              return;
  69.                         }      
  70.                           //----------------------------------------------------
  71.                            strTheValue6=strTheValue6+"|"+UserTypeIDs[i].value; 
  72. //                        if(UserTypeIDs[i].value.length !=0)
  73. //                        {
  74. //                            strTheValue6=strTheValue6+"|"+UserTypeIDs[i].value; 
  75. //                        }else
  76. //                        {
  77. //                            movetheDiv(i);
  78. //                            gettheValue();
  79. //                        }           
  80.                    }  
  81.                 document.getElementById("txtConcessions").value=strTheValue1;//显示名称
  82.                 document.getElementById("txtPrice").value=strTheValue2;//单价
  83.                 document.getElementById("txtMinNum").value=strTheValue3;//购买最少数量
  84.                 document.getElementById("txtSunNum").value=strTheValue4;//票务总数量
  85.                 document.getElementById("tztLastNum").value=strTheValue5;//剩余数量
  86.                 document.getElementById("UserTypeIDs").value=strTheValue6;//用户类型
  87.                
  88.            }
  89.            
  90.            function movetheDiv(i)//移除DIV
  91.            {
  92.                  i=i-0;//转换成数字
  93.                  //alert(i);
  94.                  //alert(theDivs[0].name);
  95.                  var theDivs = document.getElementsByName("addDiv");//得到所有的层
  96.                  alert(theDivs.length);
  97.                  theDivs[i].parentNode.removeChild(theDivs[i]);   //删除
  98.                  
  99.                  //theDivs[i].style.display   =   "none";   //删除div
  100.                 
  101.            }
  102.            var theSelect="  ";
  103.             function addFile()
  104.             {    
  105.                
  106.                 var str="<div class='theDiv' name='addDiv'> <table>";
  107.                 str =str+'<tr><td>价格名称:     </td><td><INPUT type="text"  NAME="thePriceName"></td><td> <span style="color: #ff0066">* </span> </td>'//显示的名称
  108.                 str =str+'<td>单价:         </td><td><INPUT type="text"  NAME="thePrice" ></td><td> <span style="color: #ff0066">* </span> </td>'//单价 
  109.                 str =str+'<td>购买最少数量: </td><td><INPUT type="text"  NAME="theMiSum" ></td><td> <span style="color: #ff0066">* </span> </td></tr>'//购买的数量 
  110.                 str =str+'<tr><td>总数量:       </td><td><INPUT type="text"  NAME="theSuNum" ></td><td> <span style="color: #ff0066">* </span> </td>'// 票务的总数量 
  111.                 str =str+'<td>剩余数量:     </td><td><INPUT type="text"  NAME="theLasNum"  onblur="gettheValue()"></td><td> <span style="color: #ff0066">* </span> </td>'// 票务的总数量 
  112.                 str =str+'<td>用户类型:     </td><td>'+theSelect+'</td><td></td></tr>'// 用户类型 
  113.                 str=str+"</table></div>";
  114.                 document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str)
  115.                 
  116.                 
  117.               }
  118.             
  119.              
  120.              
  121.         function createSelect(theValues,theNames){
  122.        
  123.             var thevalue=theValues.split("|");
  124.             var thename=theNames.split("|");
  125.             var mySelect = '<select id="myUserTypeIDs" onblur="gettheValue()">';
  126.               for(var i=0;i<thevalue.length;i++)
  127.               {
  128.                   mySelect=mySelect+'<option value="'+thevalue[i]+'">'+thename[i]+'</option>';
  129.               }
  130.        
  131.             mySelect=mySelect + '</select>'
  132.             theSelect= mySelect;  
  133.        
  134.     }
  135.     
  136.     
  137.      
  138.     </script>
内容概要:本文深入探讨了Kotlin语言在函数式编程和跨平台开发方面的特性和优势,结合详细的代码案例,展示了Kotlin的核心技巧和应用场景。文章首先介绍了高阶函数和Lambda表达式的使用,解释了它们如何简化集合操作和回调函数处理。接着,详细讲解了Kotlin Multiplatform(KMP)的实现方式,包括共享模块的创建和平台特定模块的配置,展示了如何通过共享业务逻辑代码提高开发效率。最后,文章总结了Kotlin在Android开发、跨平台移动开发、后端开发和Web开发中的应用场景,并展望了其未来发展趋势,指出Kotlin将继续在函数式编程和跨平台开发领域不断完善和发展。; 适合人群:对函数式编程和跨平台开发感兴趣的开发者,尤其是有一定编程基础的Kotlin初学者和中级开发者。; 使用场景及目标:①理解Kotlin中高阶函数和Lambda表达式的使用方法及其在实际开发中的应用场景;②掌握Kotlin Multiplatform的实现方式,能够在多个平台上共享业务逻辑代码,提高开发效率;③了解Kotlin在不同开发领域的应用场景,为选择合适的技术栈提供参考。; 其他说明:本文不仅提供了理论知识,还结合了大量代码案例,帮助读者更好地理解和实践Kotlin的函数式编程特性和跨平台开发能力。建议读者在学习过程中动手实践代码案例,以加深理解和掌握。
内容概要:本文深入探讨了利用历史速度命令(HVC)增强仿射编队机动控制性能的方法。论文提出了HVC在仿射编队控制中的潜在价值,通过全面评估HVC对系统的影响,提出了易于测试的稳定性条件,并给出了延迟参数与跟踪误差关系的显式不等式。研究为两轮差动机器人(TWDRs)群提供了系统的协调编队机动控制方案,并通过9台TWDRs的仿真和实验验证了稳定性和综合性能改进。此外,文中还提供了详细的Python代码实现,涵盖仿射编队控制类、HVC增强、稳定性条件检查以及仿真实验。代码不仅实现了论文的核心思想,还扩展了邻居历史信息利用、动态拓扑优化和自适应控制等性能提升策略,更全面地反映了群体智能协作和性能优化思想。 适用人群:具备一定编程基础,对群体智能、机器人编队控制、时滞系统稳定性分析感兴趣的科研人员和工程师。 使用场景及目标:①理解HVC在仿射编队控制中的应用及其对系统性能的提升;②掌握仿射编队控制的具体实现方法,包括控制器设计、稳定性分析和仿真实验;③学习如何通过引入历史信息(如HVC)来优化群体智能系统的性能;④探索中性型时滞系统的稳定性条件及其在实际系统中的应用。 其他说明:此资源不仅提供了理论分析,还包括完整的Python代码实现,帮助读者从理论到实践全面掌握仿射编队控制技术。代码结构清晰,涵盖了从初始化配置、控制律设计到性能评估的各个环节,并提供了丰富的可视化工具,便于理解和分析系统性能。通过阅读和实践,读者可以深入了解HVC增强仿射编队控制的工作原理及其实际应用效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值