站長資訊網
        最全最豐富的資訊網站

        html5的setCustomValidity的詳細介紹

        1. 默認提示

        html5豐富了表單驗證,例如:

        <form>      <input type=text required />      <input type=submit></form>

        如果text中沒有輸入內容,點擊提交按鈕,會提示“請填寫此字段。”

        事件順序如下:
        (1)submit按鈕的click事件,若取消默認事件,則終止
        (2)html5表單驗證和提示,若表單驗證不通過,則提示第一個不合法輸入,并終止
        (3)form表單的submit事件,若取消默認事件,則終止

        注意:
        用js觸發form的submit事件,會直接進入第(3)步,不會進行html5表單驗證。
        所以,要想出現html5的驗證提示,必須經過submit按鈕。

        2. 自定義提示

        使用setCustomValidity設置了自定義提示后,
        validity.customError就會變成true,則checkValidity總是會返回false。
        而且,表單驗證是根據checkValidity來決定是否提示的。

        所以,應該使用validity的以下屬性來設置和取消自定義提示:

        badInput,customError,patternMismatch,rangeOverflow,rangeUnderflow,stepMismatch,tooLong,  typeMismatch,valid,valueMissing

        注意:
        以上屬性值是只讀的,手動修改是無效的。

        其中,取消自定義提示的方式如下:

        setCustomValidity('') setCustomValidity(null) setCustomValidity(undefined)

        例子:

        <form>      <input id=text1 type=text required />      <input id=submit1 type=submit></form><script>      document.querySelector('#submit1').addEventListener('click',function(){              var $text1= document.querySelector('#text1');            $text1.validity.valueMissing              ?$text1.setCustomValidity('The value can't be empty.')              : $text1.setCustomValidity('');      },false);</script>

        或者:

        $text1.setCustomValidity((function(){      if($text1.validity.valueMissing){          return 'The value can't be empty.';      }    //不寫return或者寫“return;”表示“return undefined;”}()));

        3. 驗證成功后ajax提交

        考慮到事件順序,form的submit事件中只有在表單驗證通過后才會觸發。
        所以,可以在form的submit事件中,通過取消默認行為,用ajax提交數據。

        例子:

        document.querySelector('#form1').addEventListener('submit',function(e){    //ajax        e.preventDefault();  },false);

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲精品国产成人专区| 老司机精品影院91| 久久性精品| 99re这里只有精品6 | 午夜DY888国产精品影院| 国产欧美精品一区二区三区四区 | 全球AV集中精品导航福利| 久久久国产精品| 国产免费伦精品一区二区三区| 久久久九九有精品国产| 国产精品免费高清在线观看| 午夜精品一区二区三区免费视频| 欧美激情精品久久久久久久九九九| 99精品欧美一区二区三区| 91精品美女在线| 精品无码国产污污污免费网站| 亚洲午夜精品第一区二区8050| 久久夜色精品国产www| 国产精品自产拍在线观看花钱看| 桃花岛精品亚洲国产成人| 99久久久国产精品免费无卡顿 | 亚洲欧美日韩精品久久亚洲区| 久久精品无码一区二区三区免费 | 日本精品久久久中文字幕| 国产精品久久99| 国产一区二区精品久久| 91国内外精品自在线播放| 精品国产a∨无码一区二区三区| 麻豆国产在线精品国偷产拍| 亚洲AV永久青草无码精品| 无码人妻精品中文字幕免费| 午夜精品久久久久久99热| 人妻少妇精品中文字幕av蜜桃| 欧美午夜精品久久久久免费视| 无码人妻精品中文字幕免费| 久久精品国产亚洲77777| 精品国产一区二区三区久久久狼| 99久久久精品免费观看国产| 久久国产免费观看精品| 日韩精品在线看| 国产精品极品|