我想在提交表單之前將所有表單值更改爲大寫。如何使用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