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

        html5的setCustomValidity的詳細介紹

        1. 默認提示

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

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

        如果text中沒有輸入內容,點擊提交按鈕,會提示“請填寫此字段?!?/p>

        事件順序如下:
        (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號
        主站蜘蛛池模板: 精品久久久久久综合日本| 亚洲精品成人无限看| 无码欧精品亚洲日韩一区| 亚洲国产精品毛片av不卡在线 | 日韩精品成人亚洲专区| 久久久91人妻无码精品蜜桃HD| 久久免费99精品国产自在现线| 国产精品一区二区久久精品| 成人精品一区二区三区免费看| 国产91在线精品| 国产亚洲精品自在久久| 久久91综合国产91久久精品| 亚洲动漫精品无码av天堂 | 国产精品自产拍高潮在线观看| 欧美日韩精品在线观看| 无码精品黑人一区二区三区| 国产视频精品免费视频| 精品一区二区在线观看| 国产精品区一区二区三在线播放| 亚洲精品综合一二三区在线 | 亚洲欧洲国产日韩精品| 国产精品久久成人影院| 精品不卡一区二区| 久久精品无码专区免费青青| 久久精品国产亚洲欧美| 精品第一国产综合精品蜜芽 | 久久精品亚洲福利| 国产精品女同一区二区久久 | 正在播放国产精品每日更新 | 久久精品国产99久久久香蕉| 911亚洲精品国产自产| 亚洲精品偷拍视频免费观看| 精品无码综合一区| 国产成人无码久久久精品一| 色欲久久久天天天综合网精品 | 国产精品99久久久久久www| 2020最新久久久视精品爱| 成人国产精品999视频| 蜜臀精品国产高清在线观看| 国语自产精品视频| 久久久久国产精品麻豆AR影院|