zoukankan      html  css  js  c++  java
  • 5 jquery中dom操作和事件的实例学习表单验证

    这个demo的效果是实现用户输入时提供实时提醒,并不一定要等到元素失去焦点时才提醒。

    很显然,这样做能提升更好的用户体验。

    html代码:

    <form method="post" action="">
    <div class="int">
    <label for="username">用户名:</label>
    <input type="text" id="username" class="required"/>
    </div>
    </form>

    jquery代码:

    <script type="text/javascript">
    $(function(){
    $('form :input').blur(function(){
    var $parent=$(this).parent();
    $parent.find(".formtips").remove();
    if($(this).is('#username')) {
    if(this.value==""||this.value.length<6){
    var msg="<span class='formtips error'>请输入至少6位用户名</span>";
    $(msg).appendTo($parent);
    }else{
    var msg="<span class='formtips success'>输入正确</span>";
    $(msg).appendTo($parent);
    }
    }

    }).keyup(function(){
    $(this).triggerHandler("blur");
    }).focus(function(){
    $(this).triggerHandler("blur");
    })
    })
    </script>

    好,现在来详细分析下里面的jquery语句。

    先看dom操作的语句

    $('form:input') 这个是用来查找form元素下所以的<input>,<textarea>,<select>,<button>元素。

    类似的还有$(':text'),$(':checkbox')等。反正只要明白只有在表单内,通过表单选择器都能得到相应的元素。

    parent()是找到匹配元素的父节点。find()是来搜索与表达式匹配的元素。remove()是用来删除元素。

    is()是用一个表达式来检查当前选择器的元素集合,如果存在至少一个匹配元素,则返回 true。

    appendTo()是把一个元素添加到令一个元素中

    triggerHandler()这一个特点方法会触发元素上的特定事件。

    再看事件的语句。

    keyup()是按键向上时触发。

    理解每个方法后应该不难理解上面的代码

    可能对于这句代码有疑问。 $parent.find(".formtips").remove();

    这句是为了保证后面提示的元素只有一个。如果没有这句,就会一直添加提示的元素。


     

  • 相关阅读:
    [LeetCode] 5. 最长回文子串
    [LeetCode] 572. 另一个树的子树
    [LeetCode] 983. 最低票价
    [LeetCode] 98. 验证二叉搜索树
    [LeetCode] 3. 无重复字符的最长子串
    [LeetCode] 21. 合并两个有序链表
    [LeetCode] 202. 快乐数
    [LeetCode] 面试题 01.07. 旋转矩阵
    [LeetCode] 面试题56
    个人网站实现支持https
  • 原文地址:https://www.cnblogs.com/yuxiaorong/p/2267910.html
Copyright © 2011-2022 走看看