required修改提示文字


input屬性 required

required 屬性

  • required 屬性規定必須在提交之前填寫輸入域(不能為空,以提交表單)。
  • 除了 Internet Explorer 和 Safari,其他主流瀏覽器都支持 required 屬性
  • required 屬性是一個布爾屬性。
  • required 屬性是 HTML5 中的新屬性。
  • required 屬性適用於以下類型的 <input>標簽:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。

語法

Name: <input type="text" type="text" name="usr_name" required="required" />

但是當我們想修改提示的文字怎么辦,這要用到一個事件 oninvalid

oninvalid 事件

  • 當提交<input>元素無效時,會發生oninvalid事件。例如,如果設置了required屬性被設置並且字段為空,則輸入字段無效(required屬性指定在提交表單之前必須填寫輸入字段)。
    如果輸入字段無效,則提醒一些文本

當然這還不夠,還得有自定義錯誤提示信息的方法

setCustomValidity()方法

  • 設置 input 元素的 validationMessage 屬性,用於自定義錯誤提示信息的方法。
  • 注意:使用 setCustomValidity 設置了自定義提示后,validity.customError 就會變成true,則 checkValidity() 總是會返回false,導致無論重新輸入的格式正確與否,都會提示設置好的錯誤信息。
    <input type="text" type="text" required oninvalid="setCustomValidity('不能為空')"/>

  • 解決辦法:用obj.validity.patternMismatch判斷,如果輸入的格式正確,就將setCustomValidity 清空,使JavaScript重新判斷validity.customError的值。
  • 不僅僅可以配合 required,也可以配合正則及其他限制
<form action="地址" method="post">
	<input id="input" type="text" name="" required oninvalid="setCustomValidity('不能為空')" />
	<input type="submit"  onclick="setMyText()"/>
</form>
<script>
	function setMyText() {
		var obj = document.getElementById("input");
		if (obj.validity.patternMismatch === true) {
			obj.setCustomValidity("有值的");
		} else {
			obj.setCustomValidity('');
		}
	}
</script>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM