设置表单控件,主要包括‘验证邮箱’,‘判断输入是否为空’,‘设置tabindex属性’
$(document).ready(function() { /* modal windows */ $('a.modal').click(function() { var modalID = $(this).attr('rel'); // get the name of the modal /* fade in the modal window and add a close button to it */ $('#' + modalID).fadeIn().prepend('<a href="#" class="close"><img src="grfx/close_button.png" class="close_button" title="Close Window" alt="Close" /></a>'); /* * define the margins so that the modal is centered properly on the screen * we add 80px to the height/width to accomodate for the padding and border * width defined in the css */ var modalMarginTop = ($('#' + modalID).height() + 80) / 2; var modalMarginLeft = ($('#' + modalID).width() + 80) / 2; /* apply the margins to the modal window */ $('#' + modalID).css({ 'margin-top' : -modalMarginTop, 'margin-left' : -modalMarginLeft }); /* fade in the shade! (tired of the cheesy jokes yet?) */ $('body').append('<div id="modalShade"></div>'); // add the shade layer to bottom of the body $('#modalShade').css('opacity', 0.6).fadeIn(); // set the opacity with jQuery to avoid all of the nasty CSS needed for IE /* focus on the first form input */ /* * 语法: $(selector).each(function(index,element)) * 方法规定为每个匹配元素规定运行的函数,返回 false 可用于及早停止循环。 */ /* * :input $(":input") 所有<input>元素 * :visible 所有可见的元素 */ /* * i从零开始 */ $(':input:visible').each(function(i,e){ /* * loop through all visible elements * and assign a tabindex value to each * starting with 0 */ $(e).attr('tabindex',3000 + i); }); /* apply the focus */ $('input[tabindex="3000"]').focus(); return false; // keep the link from acting naturally }); /* * close the modal and pull down the shade */ $('a.close, #modalShade').live('click', function() { // clicking on the close or shade layer var thisModalID = $('a.close').parent().attr('id'); $('#modalShade, #'+thisModalID).fadeOut(function() { $('#modalShade, a.close').remove(); // remove the shade and the close button }); return false; }); /* make sure that password is not blank */ $(function() { var passwordLength = $('#penewpass').val().length; if(passwordLength == 0){ /* make sure warning is on if the length is zero */ /* * 方法返回元素的下一个兄弟元素,且只返回一个元素 */ $('#penewpass').next('.error').css('display', 'inline'); /* when the password changes (and the length grows) turn off error */ $('#penewpass').change(function() { $(this).next('.error').css('display', 'none'); }); } }); /* validate e-mail address in register form */ $(function(){ /* get length of email */ var emailLength = $('#email').val().length; if(emailLength == 0){ $('#email').next('.error').css('display', 'inline'); $('#email').change(function() { var regexEmail = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; var inputEmail = $(this).val(); var resultEmail = regexEmail.test(inputEmail); if(resultEmail){ $(this).next('.error').css('display', 'none'); } }); } }); });
1. JQuery返回的都是JQuery类型的对象,使用JQuery如何判断某个节点是否存在了,可以使用下面的语句:
$("#id").length
2. 如何判断某个input框的输入是否为空?
可以向上面例子中一样,获取email的值的长度
$("#email").val().length>0
!!$("#email").val()==false
val()方法读取的是元素中属性value的值,所以,如果你加载的元素中没有定义value属性的话,慎用。