我已經在整個互聯網上尋找解決這個問題,但找不到任何答案。如果我不清楚,這是我要洗掉的內容:

示例代碼:
<form action="search.html" id="form">
<input type="text" placeholder="Search..." name="s" id="s" required>
<button type="submit">Submit</button>
</form>
另外,對于<input type="">,是不是更好地放置type="search"而不是type="text"我正在做的事情?
如果需要使用 HTML 以外的任何內容,請盡可能不要使用jquery 。
uj5u.com熱心網友回復:
您可以使用setCustomValidity:
<form action="search.html" id="form">
<input type="text" placeholder="Search..." name="s" id="s" oninvalid="this.setCustomValidity(' ')" required>
<button type="submit">Submit</button>
</form>
我不確定為什么必須指定空格 ( " ") 作為有效性訊息,但如果應用空字串,它顯然會被忽略。
uj5u.com熱心網友回復:
如果你想讓它像谷歌一樣,那么你可以監聽submit表單上的事件,然后用它.preventDefault()來阻止表單提交。有關另一個示例,請參見https://stackoverflow.com/a/8664535/1499877。
form = document.getElementById('form');
form.addEventListener('submit', function(event) {
event.preventDefault(); // prevent the form from submitting
});
<form id="form">
<input type="search" id="nosubmit" />
<button>
Submit?
</button>
</form>
另一個用戶體驗稍微好一點的選項是默認禁用按鈕,然后在文本輸入欄位有一些值時啟用它。當用戶在輸入欄位中輸入內容時,這至少為用戶提供了一點反饋(按鈕變為啟用狀態)。
input = document.getElementById('nosubmit');
button = document.getElementById('button');
input.addEventListener('input', function(event) {
if (this.value == "") {
button.disabled = true;
} else {
button.disabled = false;
}
});
<form id="form">
<input type="search" id="nosubmit" />
<button id="button" disabled>
Submit?
</button>
</form>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/437161.html
標籤:javascript 形式 验证
上一篇:Mongoose單級查詢
下一篇:洗掉表單SwiftUI中的行
