[[筆記]] [[html5]] [[required ]]
required 屬性是 HTML5 中的新屬性。
required 屬性規(guī)定必需在提交之前填寫輸入字段竖般。如果使用該屬性钾腺,則字段是必填(或必選)的。
required 屬性適用于以下 類型:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file妓布。
重點(diǎn):required 屬性必須在form中购城,且由submit按鈕觸發(fā)。
<form >
Name: <input type="text" name="usr_name" required="required" />
<input type="submit" />
</form>
[注意] input 輸入框中回車時刨疼,會觸發(fā)form提交表單
ajax方式提交數(shù)據(jù)泉唁,但希望使用required的提示方式。在原有基礎(chǔ)上揩慕,增加form元素和submit按鈕亭畜。
在onsubmit事件中通過return false取消submit的提交操作。
<form onsubmit="call_ajax(); return false;">
<input type="hidden" name="id" id="id">
<input type="submit" value="Save" >
</form>
動態(tài)創(chuàng)建form元素及submit按鈕漩绵,并且使用required的提示方式贱案。
var form = new Element('form', {
name: 'form',
});
var submit_button = new Element('input', {
'type' : 'submit',
'value' : 'save',
'styles' : {'display' : 'none'}
}).injectInside(form);
var edit_input = new Element('textarea', {
name: 'text',
required: ''
}).injectInside(form);
form.addEvent('submit', function (e) {
//...
return false;
}.bind(this));
form.inject(container);
[注意] 如果需要在輸入框中對回車鍵進(jìn)行處理,以提交表單操作止吐。那么需要使用keyup事件。
[注意] 如果是keypress侨糟、keyup的情況碍扔,不能觸發(fā)required的檢查
[注意] keypress和keyup、keydown能響應(yīng)的字符不一樣
備用:使用 setCustomValidity 設(shè)置了自定義提示后秕重,validity.customError 就會變成true不同,則 checkValidity() 總是會返回false,導(dǎo)致無論重新輸入的格式正確與否溶耘,都會提示設(shè)置好的錯誤信息二拐。
解決辦法:用obj.validity.patternMismatch判斷,如果輸入的格式正確凳兵,就將setCustomValidity 清空百新,使JavaScript重新判斷validity.customError的值
范疇:input 元素的 validity 屬性包含一系列關(guān)于 validity 數(shù)據(jù)屬性。
[[JavaScript 驗證 API]]