Mat*_*att 3 html forms validation jquery
我有一个包含电话号码 HTML 验证的表单。我需要能够验证输入是否有效,并且只有在有效时才能触发 mixpanel 事件。我可以验证输入,但无法确定输入是否已验证并触发事件。
超文本标记语言
<form class=contact method=get action="/" accept-charset="UTF-8" id="form">
<input type="tel" class="text phoneNumber" name="tel" placeholder="Phone number" required>
<input type=submit class="submit appended" value=submit>
</div>
Run Code Online (Sandbox Code Playgroud)
jQuery
$(".submit").click(function () {
//check if form validation passed
if ($(".phoneNumber") == true) {
//if passed, trigger mixpanel event
}
});
Run Code Online (Sandbox Code Playgroud)
JSFIDDLE:链接
您可以采取两种方法......来自@axel.michel 的精彩评论。如果您使用表单的submit
事件而不是提交按钮的click
事件,则提交事件仅在表单有效时才会触发:
$('form.contact').on('submit', function(e) {
//FORM IS VALID
//stop default form submission so you can do stuff
e.preventDefault();
//do stuff
//submit form if desired
this.submit();
});
Run Code Online (Sandbox Code Playgroud)
$('form.contact').on('submit', function(e) {
//FORM IS VALID
//stop default form submission so you can do stuff
e.preventDefault();
//do stuff
//submit form if desired
this.submit();
});
Run Code Online (Sandbox Code Playgroud)
$('form.contact').on('submit', function(e) {
e.preventDefault();
console.log( $('.phoneNumber')[0].checkValidity() );
});
Run Code Online (Sandbox Code Playgroud)
第二种方法,如果您想要的只是检查输入元素是否有效的方法,那就是添加一个按钮来执行此操作:
$('.button').on('click', function() {
console.log( $('.phoneNumber')[0].checkValidity() );
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class=contact method=get action="/" accept-charset="UTF-8" id="form">
<input type="tel" class="text phoneNumber" name="tel" placeholder="Phone number" required>
<input type=submit class="submit appended" value=submit>
</div>
Run Code Online (Sandbox Code Playgroud)
$('.button').on('click', function() {
console.log( $('.phoneNumber')[0].checkValidity() );
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2819 次 |
最近记录: |