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