Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JS将表单字段标记为只读_Javascript_Jquery_Forms_Readonly - Fatal编程技术网

Javascript 使用JS将表单字段标记为只读

Javascript 使用JS将表单字段标记为只读,javascript,jquery,forms,readonly,Javascript,Jquery,Forms,Readonly,我有一个表单,根据用户选择的会员级别收取付款。当他们选择级别时,JS自动填写表单上的金额。我还想做的是,在他们选择一个选项后,将字段标记为readonly。但有一个陷阱。有一个选项可以输入自定义金额(我设置了最低金额)。如果选择此选项,则我希望“金额”字段不受影响,以允许用户输入其金额 除非他们选择“自定义金额”,否则如何自动填充字段并将其标记为“只读” 这是我的HTML和JS(注意:我只显示涉及的两个字段的HTML,而不是整个表单。) HTML 如您所见,我自动填充了“金额”字段,但我不知道如

我有一个表单,根据用户选择的会员级别收取付款。当他们选择级别时,JS自动填写表单上的金额。我还想做的是,在他们选择一个选项后,将字段标记为
readonly
。但有一个陷阱。有一个选项可以输入自定义金额(我设置了最低金额)。如果选择此选项,则我希望“金额”字段不受影响,以允许用户输入其金额

除非他们选择“自定义金额”,否则如何自动填充字段并将其标记为“只读”

这是我的HTML和JS(注意:我只显示涉及的两个字段的HTML,而不是整个表单。)

HTML

如您所见,我自动填充了“金额”字段,但我不知道如何标记为只读,如果选择了“自定义金额”,则不允许该字段为只读


我在网站上使用jQuery 1.8.3,并且愿意使用jQuery,因为它与我在vanilla JS上所做的一样。

我认为您可以测试该值,如果该值不是空的,可以使用
disabled
属性:

var select = document.getElementById('CAT_Custom_320540');
var input = document.getElementById('Amount');
    select.onchange = function() {
        input.value = select.value;
        if ($.trim(input.value).length)
         input.setAttribute('disabled',true);
        else
         input.removeAttribute('disabled');
}

如果值不是空的,我认为您可以测试该值并使用
disabled
属性:

var select = document.getElementById('CAT_Custom_320540');
var input = document.getElementById('Amount');
    select.onchange = function() {
        input.value = select.value;
        if ($.trim(input.value).length)
         input.setAttribute('disabled',true);
        else
         input.removeAttribute('disabled');
}

var select = document.getElementById('CAT_Custom_320540');
var input = document.getElementById('Amount');
    select.onchange = function() {
        input.value = select.value;
        if ($.trim(input.value).length)
         input.setAttribute('disabled',true);
        else
         input.removeAttribute('disabled');
}