【问题标题】:Disable Form Submit until Fields have been validated using jQuery在使用 jQuery 验证字段之前禁用表单提交
【发布时间】:2013-10-25 17:50:27
【问题描述】:

我已修改此脚本http://jsfiddle.net/mblase75/xtPhk/1/ 以提交表单。 目标是在验证所有表单字段之前禁用提交按钮。 这第一次工作得很好,但是因为我的表单没有动作 jquery 也可以处理提交。

所以在我提交表单后,提交按钮不会被禁用。我必须刷新页面才能使其被禁用。

我想要做的是,在每篇文章之后......提交按钮应该被禁用,而不刷新页面。

这可能吗?

如果我的表单有一个操作页面,它确实有效。但我不想要那个

表单提交:

       $(document).ready(function() {
    $("#paForm").submit(sendForm)
    });

   function sendForm() {
      $.post('pa_submit.cfm',$("#paForm").serialize(),function(data,status){
    $("#result").html(data)
});// end of submit 
$( '#paForm' ).each(function(){
      this.reset(); // end of reset 
  });
return false
  }

在验证所有字段之前禁用提交按钮

       $(document).ready(function() {
       $form = $('#paForm'); // cache
       $form.find(':input[type="submit"]').prop('disabled', true); // disable submit btn
      $form.find(':input').change(function() { // monitor all inputs for changes
    var disable = false;
       $form.find(':input').not('[type="submit"]').each(function(i, el) { // test all inputs for values
            if ($.trim(el.value) === '') {
            disable = true; // disable submit if any of them are still blank
           }
        });
         $form.find(':input[type="submit"]').prop('disabled',disable);
      });
    });

我正在使用 jquery 函数将我的值发布到数据库。我的表单没有操作。

http://jsfiddle.net/bC6GF/

这是 jsfiddle 页面,它显示了我的问题。

【问题讨论】:

  • 请正确格式化您的代码。它使您更容易阅读,其他人可以帮助您。
  • 如果我正确理解了您的问题,您能否不使用按钮而不是提交按钮并在按钮单击时使用 ajax 将数据发布到数据库中?
  • 我将代码放在 JSfiddle 中,显示了我的问题。我的问题是我无法在 Coldfusion 中使用 Ajax 调用,遗憾的是这不是 php :(

标签: javascript jquery coldfusion form-submit


【解决方案1】:

提交后为什么不禁用按钮?

你已经有了提交功能:

function sendForm() {
 $.post('pa_submit.cfm',$("#paForm").serialize(),function(data,status){
  $("#result").html(data)
 });// end of submit 
 $( '#paForm' ).each(function(){
  this.reset(); // end of reset 
 });
 return false;
}

通过调用提交按钮来禁用它:

function sendForm() {
 $.post('pa_submit.cfm',$("#paForm").serialize(),function(data,status){
  $("#result").html(data)
 });// end of submit 
 $( '#paForm' ).each(function(){
  this.reset(); // end of reset 
 });
 $("#paForm").find(':input[type="submit"]').prop('disabled', true); 
 return false;
}

这应该在每次提交后禁用按钮。

不相关但您可能想要研究的是 jQuery JavaScript Style Guides 并清理您的一些代码。

【讨论】:

  • 谢谢你成功了。是的,我正在尽我所能清理代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-21
  • 1970-01-01
  • 2019-06-30
  • 1970-01-01
相关资源
最近更新 更多