使用输入文本占位符在大写文本和普通文本之间切换
Switching between UPPER and Regular text using the input text placeholder
当输入必须为大写时,是否有更好的方法为占位符使用常规大小写?如果可能的话,我想在现代浏览器中完全使用CSS3。
原因是当我切换回小写时,在添加或删除大写时似乎有点复杂,然后占位符以常规文本出现。有模式,但它不能用于切换到大写的用户输入和切换回常规的占位符。
输入:
<input name="myInputText" data-case="UPPER" data-placeholder-case="regular" pattern="[A-Z]*" type=text placeholder="You will be FORCED to use UPPERCASE!" />
使用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", ""); }
});
参考文献:- jQuery On function, butangphp Et al., Found On www 5/22/2015, jQuery On
- 用CSS改变一个输入的HTML5占位符颜色,David Murdoch Et al., Found on www.5/22/2015,占位符
- HTML输入属性(模式),W3School Auth unk, 5/22/2015, Patterns W3Schools
如果你愿意处理它不能在每个浏览器中工作,你可以简单地为占位符设置一个不同的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;
}
<input type="text" placeholder="place holder" />
相关文章:
- 单击时在文本之间插入图像节点
- 如何使用javascript在文本之间插入图像节点
- 文本之间的空格,但文本前后不空格
- 每次单击时在文本之间切换
- 如何删除合理段落中文本之间不需要的空白
- 在文本之间添加br标记(第二行省略号)
- jQuery添加文本之间的href标签的td
- 如何在网站上显示两个文本之间的差异(如diff或WinMerge,但在JS中)
- HTML和正则表达式,如何匹配文本之间的逗号与关键字
- 使用JSE (Selenium c#)设置值和文本之间的区别
- 在Javascript中提取文本之间的数字
- 如何选择特定的文本之间的HTML标签与RegExp
- 解析两个文本之间的字符串
- Regex的效率,更好的方式选择文本之间的html
- 不会在javascript中的文本之间创建新行
- 如何减少传奇矩形和传奇文本之间的间距在酒窝
- 添加<br>字符串中的文本之间
- 使用 jQuery 在粗体和普通文本之间切换
- JavaScript正则表达式忽略文本之间的条件
- CSS是否有办法在光标和输入中的占位符文本之间添加空格?