javascript - 联系表单提交按钮在按下时不刷新

标签 javascript php jquery html forms

我在网站上有一个联系表,其中包含一些必填字段。

如果您错过了一个字段并被提示填写所有字段,当您返回并填写所有内容并点击发送时,没有任何反应。

您必须刷新整个页面并重新开始。

基本上 SEND 按钮一旦按下,就不再起作用,除非您刷新页面。我该如何解决这个问题?

在 HTML 和脚本代码下方。非常感谢任何帮助。

$('#form-send').click(function() {
$('#form-send').attr('disabled', 'disabled');

var name = $('#form-name').val();
var email = $('#form-email').val();
var telephone = $('#form-telephone').val();
var message = $('#form-msg').val();
var option = $('#form-select').val();
var error = 0;

if (name === '' || email === '' || message === '' || telephone === '') {
  error = 1;
  $('#details-error').fadeIn(200);
} else {
  $('#details-error').fadeOut(200);
}

if (!(/(.+)@(.+){2,}\.(.+){2,}/.test(email))) {
  $('#details-error').fadeIn(200);
  error = 1;
}

var dataString = '&option=' + option + '&name=' + name + '&email=' + email + '&telephone=' + telephone + '&text=' + message;

if (error === 0) {
  $.ajax({
    type: "POST",
    url: "mail.php",
    data: dataString,
    success: function() {
      $('#details-error').fadeOut(1000);
      $('#form-sent').fadeIn(1000);
    }
  });
  return false;
}

});

});
<div class="form-input">
  <div class="form-title">NAME</div>
  <input id="form-name" required type="text"></input>
</div>

<div class="form-input">
  <div class="form-title">EMAIL</div>
  <input id="form-email" required type="text"></input>
</div>

<div class="form-input">
  <div class="form-title">TELEPHONE</div>
  <input id="form-telephone" required type="text"></input>
</div>

<div class="form-input">
  <div class="form-title">MESSAGE</div>
  <textarea id="form-msg" type="text"></textarea>
</div>

<div class="form-input">
  <div class="form-title">&nbsp;</div>
  <button id="form-send">SEND</button>
</div>

</div>
<!--end of form holder-->



<div id="details-error">Please complete all fields and include a valid email</div>
<div id="form-sent">Thank you for your enquiry - We will be in touch shortly!</div>
</div>
</div>
</div>

</div>

最佳答案

使用这个:

$("#form-send").prop('disabled', false);

之后

error = 1;

关于javascript - 联系表单提交按钮在按下时不刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39948771/

相关文章:

javascript - 在 IE9 中使用 HTML5 pushState()

javascript - 在java中将DataURL图像转换为图像文件

php - 存储来自 ajax 页面的检查值

javascript - 具有最接近方法的 dojoquery 在 Internet Explorer 中不起作用

javascript - 使用jQuery根据表中 `tr`的值隐藏一个 `td`

javascript - ASP.NET 当表单 onsubmit 调用时 DOM 元素消失

javascript - 是否可以将函数作为计算键 ES6 中的键?

javascript - 如何使用 PHP+JS 将姓名保存到 mailchimp 列表中?

php - 为什么PHP的iconv需要setlocale?

javascript - 使用 Jquery 检查 Javascript 对象中是否存在某些内容