1

Stackoverflowで1時間探しましたが、自分の状況に適用できないため、残念ながら運がありませんでした。私はコーダーではないので、コードに対する応答を調整してください。当社のeコマースWebサイトでは、購入者は住所と名前をすべて小文字で入力しています。さまざまな理由から、これは望ましくなく、各単語を大文字にしてSTOREDされたデータ(したがって、text-transformのCSS)はバックエンドでは機能しません。

フィールド名が次のようになっているとします。

<input type="text" value="" name="FormField[1][1]" id="FormField_1" class="Textbox Field200 FormField">

上記のコードに何を追加する必要があり、すべての単語を大文字で始めるためにセクションに何を入れる必要がありますか?

どうもありがとうございます。

4

3 に答える 3

1

ここでは答えが出なかったので、これを試してみようと思いました。

まず、Javascript onblur()関数を使用して、ユーザーが入力ボックスから離れてクリックしたことを検出する必要があります。

 <input type="text" onblur="upperCaseFirstLetters(this.id) value="" name="FormField[1][1]" id="FormField_1" class="Textbox Field200 FormField"">

onblur()upperCaseFirstLetters()関数を呼び出します。その関数の括弧内のthis.idは、テキストボックスのIDを取得しているため、その中に含まれているテキストを維持できます。

最後に、スクリプトタグで関数を作成する必要があります。

<head>
<script type="text/javascript">
    function upperCaseFirstLetters(elm) {
        var myTextObject = document.getElementById(elm);
        myTextObject.value = myTextObject.value.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
    }
</script>
</head>

入力ボックスの要素は、そのIDで要素を取得することにより、変数myTextObjectに格納されます。myTextObject.valueは、入力ボックスの実際のテキストです。したがって、最初にリンクした関数を使用して、各単語の最初の文字を大文字に設定します。

于 2012-07-30T09:37:35.667 に答える
1

実は、今考えると申し訳ありませんが、これはサーバー側で行う必要があります。そのため、サーバー側で使用している言語 (例: php、C# など) を知るには、より多くの情報が必要です。あなたが提供したコードは、クライアント側にある HTML です。つまり、そこでテキスト (ユーザーの詳細) を実際に処理することはありません。

サーバー側のコードを教えていただければ、より多くの人が情報を提供してくれると確信しています。

編集 プロセスフローは次のようになります。

Client-side form   ->  Server-side processing -> Database storage
+---------------+          +----------+          +------------+
|   Name: ted   |    ->    | ted->Ted |    ->    | Name: Ted  |
+---------------+          +----------+          +------------+

EDIT 2 投稿したフィールドの例が名だったとしましょう。これはテストされていないため、機能するかどうかはわかりません。

$first_name = ucwords($_POST["FormField[1][1]"]);
// $_POST gets the value from the form with the 'name' attribute as 'FormField[1][1]'
// ucwords() is a php function to capitalise the first letter of each word in a sentence.
于 2012-07-29T14:14:10.310 に答える
1
<script type="text/javascript"> 

function upperCaseFirstLetters(ABC123) {
    var myTextObject = document.getElementById(ABC123);
    myTextObject.value = myTextObject.value.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});

}

 <input type="text" class="Textbox Field150 InitialFocus" onblur="upperCaseFirstLetters(this.id)" name="login_email" id="login_email">

各入力でこのコード行を正確に使用する必要があります

onblur="upperCaseFirstLetters(this.id)"

関数を変更する必要はありません。上記のコード行をinputに含める限り、関数は機能します。

于 2012-08-02T18:23:02.063 に答える