0

データベースからのケース設定を含むテキストボックスがあります。データベース設定が大文字の場合、テキストボックスのテキストは大文字に変換され、設定が適切なケースである場合、テキストボックスのテキストは適切なケースに変換されます。私はjavascriptの助けを借りてこれを達成しました。

ただし、テキストボックスのテキストが大文字に変換されるUpper Changeableという設定がもう1つあります。ただし、ユーザーが大文字を使用したくない場合は、大文字を変更できます。

 <script type="text/javascript">
   function toUpper(obj) {
       var mystring = obj.value;
       var sp = mystring.split(' ');
       var wl = 0;
       var f, f1, f2, r1, r2, r;
        if (document.getElementById('<%= hdnNameStyle.ClientID %>').value == "UC") {
         mystring = mystring.toUpperCase();
         obj.value = mystring;
     }
     if (document.getElementById('<%= hdnNameStyle.ClientID %>').value == "PC") {
         var word = new Array();
         for (i = 0; i < sp.length; i++) {
             f = sp[i].substring(0,1).toUpperCase();
             r = sp[i].substring(1);
             word[i] = f + r;
         }
         newstring = word.join(' ');
         obj.value = newstring;
     }
     if (document.getElementById('<%= hdnNameStyle.ClientID %>').value == "UG") {
         mystring = mystring.toUpperCase();
         obj.value = mystring;
     }
  }

これは私が試したJavaScriptで、うまく動作します。ただし、hdnNameStyle 値が UG の場合はさらに明確にするために、テキスト ボックスのテキストは大文字に変換されますが、ユーザーが大文字を使用したくない場合は、大文字と小文字を変更できます。

javascript を使用してユーザーがケースを変更できるようにする方法は?

ありがとう、

4

1 に答える 1

0

テキスト自体を変更する代わりに、CSS クラスを使用するだけです。

/* css */
.uppercase { text-decoration: uppercase }
.propercase { text-decoration: capitalize }


<!-- html -->
<p id="text">
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
</p>
<input type="checkbox" onclick="toggleUppercase()" />


// javascript
function toggleUppercase() {
    var text = document.getElementById("text");
    if (text.className === "uppercase") {
        text.className = "propercase";
    } else {
        text.className = "uppercase";
    }
}

これで、実用的な解決策を得ることができるはずです。

于 2012-07-14T08:35:36.587 に答える