0

我注意到,当我使用 css 大写text-transform:capitalize;并将此输入与 http-post 发送到另一个页面时,它不会影响此表单元素的值。

  1. 为什么 ?
  2. 有没有不使用 php 的解决方法ucwords()
4

3 回答 3

2

1)您正在设计内容,而不是修改它。
2) PHPucwords()是可以使用的,不是吗?;)

于 2012-01-22T20:24:41.103 回答
2

答案,简而言之:

  1. 因为 CSS 只改变数据的表示而不是底层数据本身。

  2. 不是我能想到的。除非您愿意在提交表单之前使用 JavaScript 将单个单词大写?

但是,如果您愿意使用 JavaScript:

var form = document.getElementById('form'),
    input = form.getElementById('input');

function capitalizeInput(elem){
    var inputString = elem.value;
    var capitalizedString = inputString.replace(/(\b[a-z])/g, function(char){return char.toUpperCase();});
    return capitalizedString;
}

form.onsubmit = function(){
    this.value = capitalizeInput(input);
    return false;
};

JS 小提琴演示

显然,这是对功能的简化演示,但我认为足以让您入门,尽管只有您打算走这条路。而且,如果您这样做,请记住您也必须在服务器端进行验证

参考:

于 2012-01-22T20:24:57.063 回答
1

CSS 只会影响值的显示,不会影响文本值本身。

为什么不直接利用服务器端呢?

如果您必须在客户端执行此操作,请参阅此问题以获取想法:

将输入更改为大写

于 2012-01-22T20:25:45.757 回答