我需要一些关于排序(不确定这是否是正确的术语)两个jQuery函数的帮助,以便两者可以共存。
我正在尝试做的是添加一个新功能,使用户无法编辑字段,例如 disabled="disabled"
.问题是,如果我只向提交的表格申请disabled="disabled"
,表格将不会在提交表格时发送其值。
因此,我编写了一些JS代码,它可以在提交之前启用字段,并允许在提交表单时发送其值。
加载页面后一切正常。
问题是当用户将其中一个必填字段留空并尝试提交表单时。然后还有另一个触发的jQuery来验证字段内容。
第二个验证函数触发启用字段函数,所有字段再次变为可编辑状态。
需要有关如何防止第二个函数覆盖启用函数的一些帮助。
这是代码 - enable 函数放在表单的正前方,如下所示:
<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();
});
如何防止第二个函数触发第一个函数?
谢谢?
谢谢大家的评论。虽然,你们没有提出任何解决方案,但你们给了我一个解决方法。
我基本上决定检查表单提交,如果表单验证并且只有当 true 时,启用函数才会触发。
这是代码:
jQuery(function($) {
$('form').bind('submit', function() {
if($("#RegFrm").validationEngine('validate')){
$(this).find(':input').removeAttr('disabled');
};
});
});