当输入必须是大写时,是否有更好的方法为占位符定期?如果可能的话,我希望在现代浏览器中完全使用CSS3。
原因是当我切换回小写时,添加或删除大写似乎有点复杂,然后占位符显示为常规文本。有模式,但它不适用于切换到大写用户输入和切换回占位符的常规情况。
输入:
<input name="myInputText" data-case="UPPER" data-placeholder-case="regular" pattern="[A-Z]*" type=text placeholder="You will be FORCED to use UPPERCASE!" />
当有更改或keydown时使用JQuery val()。toUpperCase() 事件:
$("myInputText").on("keydown", function() {
if ($("myInputText").val().length > 0)
{
$("myInputText").val("myInputText").val().toUpperCase());
$("myInputText").css("text-transform", "uppercase");
} else { $("myInputText").css("text-transform", ""); }
}).on("change", function() {
if ($("myInputText").val().length > 0)
{
$("myInputText").val("myInputText").val().toUpperCase());
} else { $("myInputText").css("text-transform", ""); }
});
参考文献:
答案 0 :(得分:2)
如果您愿意处理它而不是在每个浏览器中工作,您只需为占位符设置不同的text-transform
:
input {
text-transform: uppercase;
}
::-webkit-input-placeholder {
text-transform: none;
}
:-moz-placeholder {
text-transform: none;
}
::-moz-placeholder {
text-transform: none;
}
:-ms-input-placeholder {
text-transform: none;
}
&#13;
<input type="text" placeholder="place holder" />
&#13;