我的问题是我有javascript启用/禁用我默认禁用的某些表单字段,用户不需要发送到我的公司,但如果他们需要使用复选框,则可以启用它们。但是,我显然有一个表单提供程序,对于禁用字段非常有用。基本上,访问者将选择能够启用他们需要输入或选择的某些字段的复选框。
我很好奇,我可以创建一个复选框,将所有启用的字段或禁用状态撤消到刚启用状态,而不管它的当前状态如何,以便所有字段都被提交?
我需要这种功能的另一个原因是因为客户端收到自动回复电子邮件,并且当字段被禁用时,如果字段在提交表单之前被禁用,则会看到%FeildName%。仅仅因为在表单上提交数据时该字段从未存在过,显然是因为它处于禁用状态。
如果可以做某事,可以在我现有的javascript代码中输入吗?我已经有了一个表单验证脚本,我使用了javascript。
我在javascript方面并不擅长,以前从未真正使用过jQuery,也没有智慧跟随jQuery,所以任何帮助都会受到赞赏。
我的代码可以在此页面上看到,只需查看源代码即可。 http://www.gbjimaging.net/order/form/complete/audio.htm
表单最底部的复选框,在我想要执行此功能的提交和重置按钮之前,以便所有信息都被提交。再次感谢您的预期帮助,我们将非常感激。
答案 0 :(得分:0)
有一种非常简单的方法可以做到这一点。您所要做的就是将所有字段项放在一个数组中,然后当用户选中该复选框时,您可以创建一个数组循环以及数组中的每个项目(for(var i = 0; i < array.length; i++) if(checkBox.checked == true) {array[i].disabled = false;} else {array[i].disabled = true;}
)。如果取消选中复选框,则会禁用所有项目,并在启用时启用。
这是一个小图:
答案 1 :(得分:0)
在jQuery中:
$(":input").prop('disabled', false);
:input
是一个jQuery伪选择器,匹配所有类型的表单输入字段。 .prop
方法获取或设置属性,因此这会将所有disabled
属性设置为false.
答案 2 :(得分:0)
以下示例是确保重新启用当前表单的所有字段的方法。点击按钮后,所有带有input, select, textarea
和checkbox
标记的元素都会启用:
$(document).ready(function() {
$('#switcher').click(function() {
$('input, select').each(function() {
if ($(this).attr('disabled')) {
$(this).removeAttr('disabled');
}
});
});
});
您需要使用jQuery并将以下内容粘贴到您的页面上,然后将其添加到您的页面中:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
在此示例中,正在使用Google CDN。
请详细了解jQuery Install和jQuery Usage。
答案 3 :(得分:0)
有些事情:
function validate(OrderAudio) {
if(valid) {
var e = document.getElementsByTagName('input'), i;
for(i = 0; i < e.length; ++i) {
e[i].disabled = false;
}
e = document.getElementsByTagName('textarea');
for(i = 0; i < e.length; ++i) {
e[i].disabled = false;
}
}
}