jQuery开发手册 10个实用的jQuery表单操作代码片段解析
沉沙 2018-06-22 来源 : 阅读 1303 评论 0

摘要:jQuery 绝对是一个伟大的开源JavaScript类库,是帮助我们快速和高效开发前端应用的利器。可能大家在日常的开发过程中常常会处理表单相关的 JavaScript,在今天这篇代码片段分享文章中,我们收集了10个超棒超实用的jQuery表单处理代码,希望能够在大家的开发过程中帮助大家更好更快的处理表单相关问题。

jQuery 绝对是一个伟大的开源JavaScript类库,是帮助我们快速和高效开发前端应用的利器。可能大家在日常的开发过程中常常会处理表单相关的 JavaScript,在今天这篇代码片段分享文章中,我们收集了10个超棒超实用的jQuery表单处理代码,希望能够在大家的开发过程中帮助大家更好更快的处理表单相关问题,希望大家喜欢!

1.  在表单中禁用“回车键” 

大家可能在表单的操作中需要防止用户意外的提交表单,那么下面这段代码肯定非常有帮助: 

 $("#form").keypress(function(e) {  
   if (e.which == 13) {  
     return false;  
   }  
 });


2.  清除所有的表单数据 
可能针对不同的表单形式,你需要调用不同类型的清楚方法,不过使用下面这个现成方法,绝对能让你省不少功夫。 

 function clearForm(form) {  
   // iterate over all of the inputs for the form  
   // element that was passed in  
   $(':input', form).each(function() {  
     var type = this.type;  
     var tag = this.tagName.toLowerCase(); // normalize case  
     // it's ok to reset the value attr of text inputs,  
     // password inputs, and textareas  
     if (type == 'text' || type == 'password' || tag == 'textarea')  
       this.value = "";  
     // checkboxes and radios need to have their checked state cleared  
     // but should *not* have their 'value' changed  
     else if (type == 'checkbox' || type == 'radio')  
       this.checked = false;  
     // select elements need to have their 'selectedIndex' property set to -1  
     // (this works for both single and multiple select elements)  
     else if (tag == 'select')  
       this.selectedIndex = -1;  
   });  
 };


3.  将表单中的按钮禁用
下面的代码对于ajax操作非常有用,你可以有效的避免用户多次提交数据,个人也经常使用: 

 //禁用按钮:  
 $("#somebutton").attr("disabled", true);  
 //启动按钮:  
 $("#submit-button").removeAttr("disabled");

可能大家往往会使用.attr(‘disabled',false);,不过这是不正确的调用。 

4.  输入内容后启用递交按钮 

这个代码和上面类似,都属于帮助用户控制表单递交按钮。使用这段代码后,递交按钮只有在用户输入指定内容后才可以启动。 

1. $('#username').keyup(function() {  

2.     $('#submit').attr('disabled', !$('#username').val());   

3. });  


5.  禁止多次递交表单 

多次递交表单对于web应用来说是个比较头疼的问题,下面的代码能够很好的帮助你解决这个问题: 

1. $(document).ready(function() {  

2.   $('form').submit(function() {  

3.     if(typeof jQuery.data(this, "disabledOnSubmit") == 'undefined') {  

4.       jQuery.data(this, "disabledOnSubmit", { submited: true });  

5.       $('input[type=submit], input[type=button]', this).each(function() {  

6.         $(this).attr("disabled", "disabled");  

7.       });  

8.       return true;  

9.     }  

10.     else  

11.     {  

12.       return false;  

13.     }  

14.   });  

15. });  


6.  高亮显示目前聚焦的输入框标示 

有时候你需要提示用户目前操作的输入框,你可以使用下面代码高亮显示标示: 

1. $("form :input").focus(function() {  

2.   $("label[for='" + this.id + "']").addClass("labelfocus");  

3. }).blur(function() {  

4.   $("label").removeClass("labelfocus");  

5. });  


7.  动态方式添加表单元素 

这个方法可以帮助你动态的添加表单中的元素,比如,input等: 

1. //change event on password1 field to prompt new input  

2. $('#password1').change(function() {  

3.         //dynamically create new input and insert after password1  

4.         $("#password1").append("<input type='text' name='password2' id='password2' />");  

5. });  


8.  自动将数据导入selectbox中 

下面代码能够使用ajax数据自动生成选择框的内容 

1. $(function(){  

2.   $("select#ctlJob").change(function(){  

3.     $.getJSON("/select.php",{id: $(this).val(), ajax: 'true'}, function(j){  

4.       var options = '';  

5.       for (var i = 0; i < j.length; i++) {  

6.         options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';  

7.       }  

8.       $("select#ctlPerson").html(options);  

9.     })  

10.   })  

11. })  


9.  判断一个复选框是否被选中 

代码很简单,如下: 

1. $('#checkBox').attr('checked');  


10.  使用代码来递交表单
代码很简单,如下: 

1. $("#myform").submit();  


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标WEB前端jQuery频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程