[英]How to validate a modal popup form before submission
我有這樣的HTML代碼
HTML:
<form id="online_booking" method="POST" action="book.php" name="former">
<div id="book_form">
<p>
<label for="z_name">Name:<span class="red"> *</span></label>
<input type="text" placeholder="ENTER NAME.." name="z_name" required>
</p>
<p>
<label for="z_email">EMAIL:<span class="red"> *</span></label>
<input type="email" placeholder="ENTER EMAIL.." name="z_email" required>
</p>
<p>
<label for="z_subject">PHONE:<span class="red"> *</span> </label>
<input type="tel" placeholder="ENTER PHONE.." name="z_subject" required>
</p>
</form>
和jQuery:
$(document).ready(function() {
$('#book_form').dialog({
autoOpen: true,
height: 375,
width: 350,
modal: true,
buttons: [
{
text: "Cancel",
click: function() {
$(this).dialog("close");
}},
{
text: "Submit",
click: function() {
$('#online_booking').submit();
}}
]
});
});
由於表單上沒有提交按鈕,如何驗證HTML字段? 在jQuery代碼中,我創建了2個按鈕(取消並提交),但是如果HTML字段輸入不正確,我不知道如何阻止表單提交。
您只需創建返回true
或false
的驗證函數,就可以像這樣簡單地更改click
函數:
click: function ()
{
if ( someValidationFunction() )
$('#online_booking').submit();
}
這是一個基本示例,但僅在檢查空白時可用:
$(document).ready(function () {
$('#book_form').dialog({
autoOpen: true,
height: 375,
width: 350,
modal: true,
buttons: [
{
text: "Cancel",
click: function () {
$(this).dialog("close");
}
},
{
text: "Submit",
click: function () {
if (valid()) { //Check for Valid
$('#online_booking').submit();
}
else {
alert("Invalid");
}
}
}
]
});
});
var valid = function () { //Validation Function - Sample, just checks for empty fields
var valid;
$("input").each(function () {
if ($(this).val() === "") {
var a = $(this).val();
valid = false;
}
});
if (valid !== false) {
return true;
}
else {
return false;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.