我想让我在文本字段中写的所有内容都是大写字母。在我写的时候,不是在失去焦点之后。
我如何使用 jQuery 做到这一点?
我想让我在文本字段中写的所有内容都是大写字母。在我写的时候,不是在失去焦点之后。
我如何使用 jQuery 做到这一点?
我会为此使用 CSS。
只需添加text-transform: uppercase
到您的样式中,然后在服务器端您可以将其转换为大写。
input {
text-transform: uppercase;
}
$('input[type=text]').keyup(function() {
$(this).val($(this).val().toUpperCase());
});
使用oninput='this.value=this.value.toUpperCase();
此事件仅适用于这种情况,在用户输入(按键)之后但在更新(显示值)之前触发,因此使用此键入的文本在转换时不会闪烁,并且值也是正确的(不像只使用样式来更改显示而不更改实际数据)。
您可能需要使用这些组合。
使用 text-transform 样式只会以大写形式呈现类型,尽管值很可能是小写形式。
javascript 只会在字段更改或焦点丢失时将当前文本更改为上部
你可以使用 gazler 的 jquery 或简单的内联 javascript
例如 onblur='javascript:this.value=this.value.toUpperCase();'
这意味着文本值将显示为大写,并且当值更改/控制失去焦点时实际上是大写的。
HTH 山姆
为了建立@Gazler 的答案,一个增强的解决方案可以更好地处理修饰键(假设您有一个混合大小写的占位符并且无法设置text-transform: uppercase;
):
$('.search-input input[type=text]').keyup(function() {
var v = $(this).val();
var u = v.toUpperCase();
if( v != u ) $(this).val( u );
})