0

我的问题是我有 javascript 可以启用/禁用一些我默认禁用的表单字段,用户不需要发送到我的公司,但如果他们需要,可以使用复选框启用它们。但是,我显然有一个表单提供程序,它对禁用字段非常挑剔。基本上,访问者将选择复选框,这些复选框将启用他们需要输入或选择的某些字段。

我很好奇,我是否可以创建一个复选框,将所有启用或禁用状态的字段撤消为刚刚启用,无论其当前状态如何,以便所有字段都被提交?

我需要这种功能的另一个原因是因为客户端会收到一封自动回复电子邮件,并且当字段被禁用时,如果在提交表单之前该字段被禁用,他们会看到 %FeildName%。仅仅是因为在表单上提交数据时该字段不存在,显然是因为它处于禁用状态。

如果可以做点什么,可以在我现有的 javascript 代码中输入吗?我已经有一个表单验证脚本,用于 javascript。

我不是很擅长 javascript,以前甚至从未真正玩过 jQuery,我也没有智力去关注 jQuery,所以任何帮助都将不胜感激。

我的代码可以在这个页面上看到,只需查看源代码。 http://www.gbjimaging.net/order/form/complete/audio.htm

表单最底部的复选框,在提交和重置按钮之前,我想执行此功能,以便提交所有信息。再次感谢您的预期帮助,我们将不胜感激。

4

4 回答 4

0

有一种非常简单的方法可以做到这一点。您所要做的就是将所有字段项放入一个数组中,然后当用户选中复选框时,您可以创建一个数组循环并为数组中的每个项目(for(var i = 0; i < array.length; i++) if(checkBox.checked == true) {array[i].disabled = false;} else {array[i].disabled = true;})。如果取消选中复选框,这将禁用所有项目,并在选中时启用。

这是一个小图:

代码图

于 2013-10-13T17:34:24.407 回答
0

在 jQuery 中:

$(":input").prop('disabled', false);

:input是一个 jQuery 伪选择器,它匹配所有类型的表单输入字段。该.prop方法获取或设置属性,因此这会将所有disabled属性设置为false.

于 2013-10-13T17:35:49.243 回答
0

以下示例是确保重新启用当前表单的所有字段的方法。当您单击按钮时,所有带有input, select, textareacheckbox标签的元素都将启用:

$(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 安装jQuery 使用的信息。

于 2013-10-13T17:36:37.047 回答
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;
        }
    }
}
于 2013-10-13T17:38:05.507 回答