我在提交表单之前尝试验证用户的输入。虽然我在按下按钮时成功这样做,但是当他们按下回车键时我也无法停止:
HTML:
<form method='post' class='submit_form' action="<?php echo base_url();?>interview/reserve_temporary">
<input type="text" class="form-control email_input" id="reserve_email_2" placeholder="Email">
<button type="button" id="subscribe_2" class="btn btn-default text-center foot-submit-btn subscribe_button">Let me try</button>
</form>
JS:
$('.submit_form').submit(function(e) {
var email = $(this).find('.email_input').val();
var id=$(this).find('.subscribe_button').attr('id').split("_").pop();
var regex_email = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (regex_email.test(email)||email.match(/^\d+$/)) {
$(this).text('Sending……');
}
else {
return false;
}
}
答案 0 :(得分:2)
试一试:
$('.submit_form').submit(function(e) {
var email = $(this).find('.email_input').val();
var id=$(this).find('.subscribe_button').attr('id').split("_").pop();
var regex_email = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (regex_email.test(email)||email.match(/^\d+$/)) {
$(this).text('Sending……');
return true
}
else {
e.preventDefault();
e.stopImmediatePropagation();
return false;
}
}
答案 1 :(得分:0)
您可以使用更简单的选项来验证输入 检查jquery验证引擎,这是一个简单而强大的验证工具 https://github.com/posabsolute/jQuery-Validation-Engine