我的表单验证运行良好,响应消息显示表单验证为true / false,没问题但是我想在JavaScript中添加一个条件来检查如果响应为真那么表单输入将是禁用,直到响应真实消息将显示然后几秒后表格将被重置。
这是我验证后的PHP代码并发送响应为真:
$response = "form submitted successfully";
这是我的表单代码示例:
<form action="" method="POST" id="headersignupform" onsubmit="return false;">
<div class="resultsignup toppage"></div>
<button type="submit" class="signupbtn">Submit</button>
这是我的JavaScript代码:
<script type="text/javascript">
$(function(){
$('.signupbtn').click(function(){
$('html, body').animate({
scrollTop: $(".toppage").offset().top - 100
},'slow');
$.post("<?php echo base_url();?>account/signup",$("#headersignupform").serialize(),
function(response){
if($.trim(response) == 'true'){
document.getElementById("headersignupform").reset();
$(".resultsignup").html(response).fadeIn("slow");
}else{
$(".resultsignup").html(response).fadeIn("slow");
} }); });
})
</script>
因此可以重置它但只有一次。请阅读以下更多信息; $( '#headersignupform')[0] .reset段();
但重置只能工作一次,我的意思是如果我刷新页面,然后我点击提交按钮然后它会显示响应,但让我们看到我们有如此错误的响应,然后第二次或更多,如果我将点击提交按钮,然后它将不会显示响应。那么,问题是什么? 顺便说一下,上面的代码行重置了表单,但它不会像我提到的问题那样禁用表单输入。
答案 0 :(得分:0)
试试此代码
<script type="text/javascript">
$(function(){
$('.signupbtn').click(function(){
$('html, body').animate({
scrollTop: $(".toppage").offset().top - 100
},'slow');
$.post("<?php echo base_url();?>account/signup",$("#headersignupform").serialize(),
function(response){
if($.trim(response) == true){
document.getElementById("headersignupform").reset();
$(".resultsignup").html(response).fadeIn("slow");
}else{
$(".resultsignup").html(response).fadeIn("slow");
}
});
});
})
</script>