我想在提交表单之前将所有表单值更改为大写。如何使用Jquery将所有输入值更改为大写?
到目前为止,我有这个,但它不工作。
$('#id-submit').click(function() {
var allInputs = $(":input");
$(allInputs).value.toUpperCase();
alert(allInputs);
});
我想在提交表单之前将所有表单值更改为大写。如何使用Jquery将所有输入值更改为大写?
到目前为止,我有这个,但它不工作。
$('#id-submit').click(function() {
var allInputs = $(":input");
$(allInputs).value.toUpperCase();
alert(allInputs);
});
尝试像下面,
$('input[type=text]').val (function() {
return this.value.toUpperCase();
})
您应该使用input[type=text]
,而不是:input
或input
,因为我相信你的意图只能在文本框上操作。
$(allInputs)实际上应该是$(“:input”),不需要加倍$ – Christophe 2013-03-01 17:43:59
使用CSS:
input.upper { text-transform: uppercase; }
可能最好使用的样式,并转换服务器端。还有一个jQuery插件强制大写:http://plugins.jquery.com/plugin-tags/uppercase
注意:这将只显示大写的文本,它不会将这些值以这种方式进行转换。 – PlantTheIdea 2013-03-01 17:37:58
上面的评论是正确的,我曾尝试过。 – 2013-03-01 17:39:08
@GustavoReyes这个答案说,你真的需要在服务器上进行转换。你不能确定客户端代码将被运行。 – Pointy 2013-03-01 19:22:14
您可以使用each()
$('#id-submit').click(function() {
$(":input").each(function(){
this.value = this.value.toUpperCase();
});
});
这就像一个魅力。 – 2013-03-01 17:45:33
*“这个工程就像一个魅力”*直到遇到一个select元素。 – 2013-03-01 17:49:06
$('#id-submit').click(function() {
$("input").val(function(i,val) {
return val.toUpperCase();
});
});
使用CSS文本转换,以显示所有输入型文本的文本。 在Jquery中,您可以将模糊事件的值转换为大写。
定制CSS:
input[type=text] {
text-transform: uppercase;
}
Jquery的:
$(document).on('blur', "input[type=text]", function() {
$(this).val(function (_, val) {
return val.toUpperCase();
});
});
'allInputs.val()toUpperCase()' – PlantTheIdea 2013-03-01 17:36:24
[了解'.VAL()'](HTTP:// API。 jquery.com/val/) – epascarello 2013-03-01 17:38:02
@LifeInTheGrey val()只能得到第一个元素 – Christophe 2013-03-01 17:39:10