21

我想在提交表单之前将所有表单值更改为大写。

到目前为止,我有这个,但它不工作。

$('#id-submit').click(function () {
        var allInputs = $(":input");
        $(allInputs).value.toUpperCase();
        alert(allInputs);
});
4

5 回答 5

51

尝试如下,

$('input[type=text]').val (function () {
    return this.value.toUpperCase();
})

您应该使用input[type=text]代替,:input或者input因为我相信您的意图是仅在文本框上进行操作。

于 2013-03-01T17:36:59.787 回答
18

使用 css:

input.upper { text-transform: uppercase; }

可能最好使用样式,并转换服务器端。还有一个 jQuery 插件强制大写: http: //plugins.jquery.com/plugin-tags/uppercase

于 2013-03-01T17:36:42.857 回答
7
$('#id-submit').click(function () {
    $("input").val(function(i,val) {
        return val.toUpperCase();
    });
});

小提琴

于 2013-03-01T17:37:03.843 回答
4

使用 css text-transform 在所有输入类型文本中显示文本。在 Jquery 中,您可以在模糊事件中将值转换为大写。

CSS:

input[type=text] {
    text-transform: uppercase;
}

查询:

$(document).on('blur', "input[type=text]", function () {
    $(this).val(function (_, val) {
        return val.toUpperCase();
    });
});
于 2016-07-27T09:12:21.680 回答
3

您可以使用每个()

$('#id-submit').click(function () {
      $(":input").each(function(){
          this.value = this.value.toUpperCase();          
      });
});
于 2013-03-01T17:36:53.783 回答