0

次のようなHTML形式のコンボボックスがあります。

<form name="formname" action="formaction.php" method="get">
    <select name="selectname">
        <option>Option1</option>
        <option>Option2</option>
        <option>Option3</option>
    </select>
    <!-- other inputs -->
</form>

送信時のURLの例は「formaction.php?selectname=Option1」です。オプションの値を「option1」としてURLに渡すことを望みvalueますが、すべてのオプションに、オプションのinnerHTMLと同じ属性を持たせたくありません(JSを介してこれを動的に行うことも検討しました)。注:大文字と小文字を区別せずに、サーバー側で値を処理しています。私はこれを単に美学のためにやりたいのです。

私の目標は、すべてのフォーム値を小文字で送信することです。

onsubmitを使用してフォームに属性を追加しようとしましたstate = state.toLowerCase()。また、idによって取得されたドキュメント要素を介して値を参照するようなフォームも同様です。

これは可能ですか、それとも各オプションのvalue属性を小文字に動的に設定する必要がありますか?

4

2 に答える 2

3

すべてのフォームの値を小文字に設定するJavaScriptのネイティブメソッドはありません。

サーバー側でこれらの値を簡単に処理し、小文字に変えることができます。または、HTMLで小文字として印刷し、cssを使用して最初の文字を大文字で表示することもできます。

<select name="selectname">
        <option>option1</option>
        <option>option2</option>
        <option>option3</option>
    </select>

select option {
   text-transform:capitalize;
}
于 2012-10-27T01:30:09.713 に答える
0

本当にフロントエンドでこれを行う必要$('input')がある場合は、jQuery のようなものを使用して、ページ内のすべての入力を見つけることをお勧めします(サーバー側は通常、最初の寄港地にする必要があります。<option value="lowercaseversion">Upper Case Version</option>HTML を作成するときに使用します。

ただし、クライアント側のソリューションでは、フォームが送信される前にこの関数を呼び出します。

myLowerCaser()
{
 $('input').each(function(i, input)
 {
   input.val(input.val.toLowerCase())
 }
 return true;
}

特定のものにのみ影響を与えたい場合は、「入力」をより具体的なセレクターに置き換えます(JUTコンボボックスのように$('select.selectname')

于 2012-10-27T01:33:18.197 に答える