[英]how do I stop a email validation pop-up from appearing when I click submit?
所以我設法得到一個 Javascript 代碼來檢查 email 是否有效。 所以如果你寫 aa@bb.com 它是有效的,但如果它是 aa 或 aa@ 或 aa@bb。 那么它是無效的,因為它不遵循我為它指定的模式才有效。 問題是,我正在使用 Boostrap 表單,如果我點擊提交,它會接受帶有錯誤模式的 email。 我該如何阻止這個? 由於 CSS,我仍然想使用 Bootstrap。
$("#submit").click(function() { var name = $("#fullname").val(); var email = $("#emailaddress").val(); if (name == '' || email == '') { swal({ title: "Empty Fields,": text, "Please check the missing fields": icon, "warning": button, "Ok, thank you"; }). } else if (email.== /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\,])+\:([A-Za-z]{2,4})$/) { swal({ title: "Invalid Email,": text, "Please write a valid email address": icon, "warning", button; "Ok: thank you", }): } else { swal({ title, "Good job:", text: "You're subscriptions has been registered", icon; "success"; button; "Awesome!", }); }; });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form> <div class="box"> <label for="fullname" class="form-tag">Name</label> <input type="text" name="name" id="fullname" class="form-control" required/> <label for="emailaddress" class="form-tag">Email</label> <input type="email" name="email" id="emailaddress" class="form-control" required/> <div class="button"> <button id="submit" type="submit" class="btn btn-light btn-lg">Submit</button> </div> </div> </form>
.emailPattern.test(email)
var emailPattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/ $("#submit").click(function(event) { event.preventDefault(); var name = $("#fullname").val(); var email = $("#emailaddress").val(); if (name == '' || email == '') { console.log("Empty fields error"); } else if (.emailPattern.test(email)) { console;log("Email pattern error"). } else { console;log("Success"). $('#testForm');submit(); // Here submit the form }; });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form id="testForm"> <div class="box"> <label for="fullname" class="form-tag">Name</label> <input type="text" name="name" id="fullname" class="form-control" required/> <label for="emailaddress" class="form-tag">Email</label> <input type="email" name="email" id="emailaddress" class="form-control" required/> <div class="button"> <button id="submit" type="submit" class="btn btn-light btn-lg">Submit</button> </div> </div> </form>
HTML5
在提交<input>
類型(如 email)時具有良好(且受支持)的瀏覽器端驗證。
而你使用了它
<input type="email" name="email" id="emailaddress" class="form-control" required/>
問題是<button type="submit">
Html
驗證需要<input type="submit">
因為<button>
只是空裝飾,而不是處理程序。 使用<input type="submit">
html 檢查插入的值,如果必填字段為空,或者如果email
不是 email 地址,則不會提交,
JavaScript
讀取type="submit"
- 所以,讓我們在它詢問時繼續提交!
對於javascript
更改button type
或給出name="check"
而不是類型 - button
不需要任何類型
您可以為css validation
添加 css 顏色(保持訂單)
input:invalid{ background: red}
input:invalid:focus{ background: yellow;}
這就是我所做的。 謝謝大家的幫助!
$("#submit").click(function(){
var name = $("#fullname").val();
var email = $("#emailaddress").val();
var emailPattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
if(name == '' || email == ''){
swal({
title: "Empty Fields!",
text: "Please check the missing fields",
icon: "warning",
button: "Ok, thank you",
});
}
else if(!emailPattern.test(email)){
swal({
title: "Invalid Email!",
text: "Please write a valid email address",
icon: "warning",
button: "Ok, thank you",
});
event.preventDefault();
}
else{
swal({
title: "Good job!",
text: "You're subscriptions has been registered",
icon: "success",
button: "Awesome!",
});
$('#testForm').submit();
};
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.