所以我的問題是這樣的。我對我的電子郵件和複選框有一些「驗證」,以檢查它們是否爲空。這似乎工作,但在他們被填寫和檢查後,我仍然得到我的警告消息(.error)彈出式窗體不提交。經過表格驗證,表格不提交
我以前只用電子郵件工作,但需要添加協議複選框。
這是代碼和jsfiddle。
謝謝你的幫助!
HTML:
<form class="form" action="">
<div class="wrapper-input email">
<input id="email" type="text" name="email" placeholder="[email protected]" />
<button class="form-submit submit">Sign-Up</button>
<div class="clear"></div>
</div>
<div class="clear"></div>
<div class="wrapper-input">
<input type="checkbox" id="terms" name="terms" value="Agree"> <span>Click to agree</span>
</div> </form> <div class="modal">
<div class="modal-title">
<h4 class="success">Submission Successful!</h4>
<h4 class="error">Submission Error!</h4>
<img class="close" src="img/close-x.png" alt="close" />
</div>
<div class="modal-content">
<p class="success">Sucess</p>
<p class="error">Error!</p>
</div> </div>
的javascript:
$(document).ready(function() {
$(".submit").click(function() {
var email = $("#email").val();
var dataString = 'email='+ email;
var terms = $("input:checkbox#terms").val();
if (!terms.checked) {
$('.lk-modal').show();
$('.success').hide();
$('.error').show();
}
if (email ==='') {
$('.lk-modal').show();
$('.success').hide();
$('.error').show();
}
else {
$.ajax({
type: "POST",
url: "collect.php",
data: dataString,
success: function(){
$('.lk-modal').show();
$('.success').show();
$('.error').hide();
}
});
}
return false;
});
});
不錯的代碼。很好地捕捉if/else結構修正 - 你應該擴展你的答案,以解釋原來的if/else結構是否有缺陷,並且不能很好地工作。 –
@cale_b我剛纔看到斯特凡諾的答案出現之前就指出了他的錯誤。我會在我的答案頂部放置一個編輯,以便在另一個答案上先指向另一個+1。 – adamj
@adamj這很棒,謝謝! – vms