css で大文字にしてtext-transform:capitalize;
、この入力を http-post で別のページに送信しても、このフォーム要素の値には影響しないことに気付きました。
- なんで ?
- PHPを使わずに回避策はあり
ucwords()
ますか?
css で大文字にしてtext-transform:capitalize;
、この入力を http-post で別のページに送信しても、このフォーム要素の値には影響しないことに気付きました。
ucwords()
ますか?1) コンテンツを変更するのではなく、スタイルを設定します。
2) PHPucwords()
は使用するためにありますね。;)
簡単に言えば、答えは次のとおりです。
CSSはデータの表示のみを変更し、基になるデータ自体は変更しないためです。
私が考えることができるわけではありません。フォームを送信する前に、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;
};
これは明らかに、機能の非常に単純化されたデモンストレーションですが、このルートに進むつもりがある場合にのみ、開始するのに十分だと思います. また、そうする場合は、サーバー側でも検証する必要があることに注意してください。
参考文献:
CSS は値の表示のみに影響し、テキスト値自体には影響しません。
サーバー側だけを活用してみませんか?
クライアント側でこれを行う必要がある場合は、アイデアについて次の質問を参照してください。