簡體   English   中英

AJAX 按鈕提交的 HTML5 表單驗證

[英]HTML5 form validation for AJAX button submit

我有以下表格。 我喜歡新的 HTML5 表單驗證,我更願意保留它。 然而。 我不喜歡按下按鈕時刷新頁面(表單提交)的方式。

相反,我更喜歡使用按鈕觸發一些 AJAX 來刷新頁面元素而不刷新整個頁面。 但是,當我設置type="button" ,會發生 HTML5 表單驗證在按下按鈕時停止觸發的情況。

如何使用 HTML5 表單驗證,同時不觸發刷新/提交頁面的傳播?

請注意,我不關心這個問題的 AJAX 元素,只關心 HTML5 驗證問題。

echo "<form>";
echo "<td><input id=\"link_add_title\" type=\"text\" class=\"form-control\" placeholder=\"URL Title\"></td>";
echo "<td><input id=\"link_add_url\" type=\"url\" class=\"form-control\" placeholder=\"Your URL\"></td>";
echo "<td><input id=\"link_add_budget\" type=\"number\" step=\"any\" class=\"form-control\" placeholder=\"Budget\"></td>";
echo "<td><button class=\"btn btn-sm btn-success\"><i class=\"fa fa-check\"></i> Add</button></td>";
echo "</form>";

通過這種方式,您可以防止實際提交,但會觸發 HTML5 驗證:

$('form').submit(function(event){

  event.preventDefault();

});

正如Samveen指出的那樣,這種方式應該比監聽<button> / <input type="submit">元素的onclick事件更受歡迎,因為除了正常的表單提交之外,后者還會阻止 HTML5 驗證 -請參閱 fiddle

使用提交按鈕嘗試..

html
<input type="submit" class="your-button-class" />

js
$(document).on('click','.your-button-class',function(){
 //your code

 return false;  //this will prevent the page refresh
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM