我想作一个文本框,在我jsp
成为readonly
和它的背景色为灰色像jQuery的disable
。以下是我的代码:
if(a)
$('#billAccountNumber').attr('readonly', 'true');
我不喜欢使用attr('disable', 'true');
,因为当我提交表单的值将变为零。任何想法,而不是写第二行代码来改变风格?
我想作一个文本框,在我jsp
成为readonly
和它的背景色为灰色像jQuery的disable
。以下是我的代码:
if(a)
$('#billAccountNumber').attr('readonly', 'true');
我不喜欢使用attr('disable', 'true');
,因为当我提交表单的值将变为零。任何想法,而不是写第二行代码来改变风格?
有2个解决方案,我知道,如果要求是不同的:
访问此jsfiddle
in your css you can add this:
.input-disabled{background-color:#EBEBE4;border:1px solid #ABADB3;padding:2px 1px;}
in your js do something like this:
$('#test').attr('readonly', true);
$('#test').addClass('input-disabled');
希望这有助于。
另一种方法是使用隐藏的输入字段,如某些评论所述。但请记住,在后端代码中,您需要确保在正确的场景下验证这个新隐藏的输入。因此,我不推荐这种方式,因为如果处理不当,会产生更多的错误。
在内部添加颜色,'.input-disabled {background-color:#EBEBE4; border:1px solid#ABADB3; padding:2px 1px; color:rgb(84,84,84);}',perfect。 –
为什么你不把帐号放在div中。按照您的喜好来设计样式,然后在包含帐号的表单中输入一个隐藏的输入。然后,当表单被提交时,值应该通过而不是null。
可以像下面那样添加禁用功能,并可以获取提交数据。这样的事情.. DEMO
的Html
<input type="hidden" name="email" value="email" />
<input type="text" id="dis" class="disable" value="email" name="email" >
JS
$("#dis").attr('disabled','disabled');
CSS
.disable { opacity : .35; background-color:lightgray; border:1px solid gray;}
按照你的问题,这是你可以做什么
HTML
<textarea id='sample'>Area adskds;das;dsald da'adslda'daladhkdslasdljads</textarea>
JS/jQuery的
$(function() {
$('#sample').attr('readonly', 'true'); // mark it as read only
$('#sample').css('background-color' , '#DEDEDE'); // change the background color
});
或添加类在您需要的造型
$('#sample').addClass('yourclass');
CSS
让
如果有人正在考虑第二个选择:我能够添加一个类来改变背景颜色,但事件有关该类不会为具有新类的对象触发。 –
如果你的浏览器不支持,你可以使用CSS3 :read-only
selector:
input[type="text"]:read-only {
cursor: normal;
background-color: #f8f8f8;
color: #999;
}
是否有可能为你创造残疾人领域的变量,一旦你提交你可以使用这个变量,而不是拉出来的。这样你不应该得到一个NULL值。 – Ljubisa
这是一个好主意,但我需要在后端代码中进行很多更改,因此,我宁愿使用相同的变量。 –
也许'disabled = true'? – Cilan