我有一個奇怪的問題,即兩個數字字段上的模式無法正常工作(即使字段未驗證,表單可以提交)。該HTML看起來像以下:模式HTML5驗證不會阻止表單提交時未驗證
<input type="text" class="txtmin" pattern="^[+-]?\d*(\.\d+)?$" placeholder="Minimum price">
<input type="text" class="txtmax" pattern="^[+-]?\d*(\.\d+)?$" placeholder="Maximum price">
當我輸入的東西進入該領域,如果沒有正則表達式匹配,現場被標記爲紅色,但如果我嘗試提交onclick事件的形式,確認不阻止用戶改變輸入值,我得到一個異常...
$(".btnAnalyze").click(function() {
// the form doesn't validates??
});
我是想這樣的事情:
$('txtmin').oninvalid = function (event) {
return;
}
但是,這並不做任何事情?有人可以幫我嗎?
編輯:利雅得,這是完整的代碼的HTML和我觸發事件:
<form>
<span class="input-group-btn">
<button class="btn btn-default btnGo" type="submit">Go!</button>
</span>
</form>
$(".btnGo").click(function() {
if ($('.txtSearch').val() == "") {
ShowMessage("Please enter the search term!");
return;
}
else{
PostAndUpdate($('.txtSearch').val(), $('input[name=type]:checked').val(), $('input[name=shipping]:checked').val(), $('input[name=condition]:checked').val(), $('.txtmin').val(), $('.txtmax').val());
}
});
都是表單標籤內的字段? –
@ Ryad.iv不,他們不是,我避免把它們放在窗體標籤內。我能用jQuery來解決這個問題嗎? –
你需要表單標籤,以便它可以驗證和阻止提交,否則你將需要驗證你的輸入與JavaScript。 –