2014-11-17 74 views
0

我需要一些排序帮助(不确定这是否合适)两个jQuery函数,以便两者可以共存。调用第二个函数后启用字段函数触发器

我想要做的是添加一个新的功能,使字段不可编辑给用户,如disabled="disabled"。 Catch是,如果我只将disabled="disabled"应用于提交的表单将不会以表单提交的形式发送它的值。

因此,我写了一些JS代码,它使得字段能够在提交前提交并且允许在提交表单时发送它们的值。

所有工作正常后,页面加载。

问题是当用户将其中一个必填字段留空并尝试提交表单时。然后还有另一个jQuery会触发 - 验证字段内容。

第二个验证功能触发启用字段功能,所有字段都可以再次编辑。

需要一些帮助,了解如何防止第二个函数覆盖启用函数。

这里是代码 - 启用功能,这样的表格前正确放置:

<script> 
jQuery(function($) {  
    $('form').bind('submit', function() { 
     $(this).find(':input').removeAttr('disabled'); 
    }); 

}); 
</script>  

    <form name="RegFrm" id="RegFrm" action="" method="post"> 
      <select class="validate[required] text-input" disabled="disabled"> 
       <option value="">Please Select</option> 
      </select> 
      <input name="sbtFrm" type="submit" value="Submit" /> 
    </form> 

这里是放置在一个单独的文件中的第二个字段校验功能。它正在从files_include.php每次调用的页面加载:

var genVar = jQuery.noConflict(); 
    genVar(document).ready(function(){ 
     genVar("#RegFrm").validationEngine(); 
    }); 

如何防止第二功能触发的第一个?

谢谢?

+0

只要把代码在其再次禁用域验证的结束?这似乎是一个固有的问题,因为您在提交时删除禁用的属性。 – user3154108

+0

已经尝试过,但它不起作用:( – BradG

+0

'$(this).find(':input')。removeAttr('disabled');'这看起来好像是*去除* disabled'属性,启用字段,一旦提交按钮被点击?或者我误解了? –

回答

0

谢谢大家的意见。虽然,没有解决方案建议你们给了我一个想法如何解决它。

我基本上决定检查表单提交如果表单验证,只有如果是true,然后启用函数触发。

这是代码:

jQuery(function($) {  
    $('form').bind('submit', function() { 
     if($("#RegFrm").validationEngine('validate')){ 
      $(this).find(':input').removeAttr('disabled'); 
     }; 
    }); 

}); 
相关问题