2009-06-20 9 views
1

<ボタン>を複数の値に関連付けることが何らかの理由で必要な場合は、それを行うのが良い方法はありますか?たとえば...それを行うには良い方法が存在しない場合にはHTMLの複合オブジェクト<button>値属性

CSV: 
    <button value="Lancelot,Grail,blue">Answer</button> 
JSON: 
    <button value="{'name':'Lancelot','quest':'Grail','color':'blue'}">Answer</button> 

は、伝統的な方法はありますか?

編集:別のユースケース

サーバM、HTMLのプロデューサーは、ユーザの現在位置と好きなジャンル、映画名、最寄りの劇場、そして次のショータイムを知っています。サーバFは、時刻Tで到着するために、ポイントAからポイントBに到達する方法について、様々なサードパーティのサーバに問い合わせる方法を知っている。ユーザはムービー名のみを知っている。地獄へのドラッグをクリックしてルートを取得する。サーバーM は、ムービーの名前を示す単一のボタンと、開始位置と終了位置、および所望の到着時間を有する複数の隠しフィールドを有するフォームを生成することができるが、多くの繰り返しコードが必要となる。これらのワンボタンミニフォームはすべて同じ方法とアクション、同じ隠れた入力フィールド構造を持ちます。スタイリングはボタンの集まりではなくミニフォームの集まりなので、FIELDSETとLEGENDは使用できません(HTMLは入れ子にされたフォームを禁止するため)。パラメータをボタンのvalue属性に入れるのははるかに精巧です。

+0

申し訳ありませんが、そのようなことの理由を理解できません。選択のためにラジオボタンを使用し、その選択肢を受け入れるためのボタンを持つことができます。 – shahkalpesh

+0

私は値の中で自然に発生しないことが分かっているdelimeterを選択すると思います。 – ChrisW

+0

@shahkalpesh、(1)htmlプロデューサがキーを複合オブジェクトに関連付けるマップを持っている場合、 (2)ボタンクリックコンシューマはマップもキーも持たず、複合オブジェクトを解釈することができる。 (3)ボタンが提示されるユーザは、キーを知っているが、複合オブジェクトの値を必ずしも知っているとは限らない。 複合オブジェクトをラジオボタンに関連付ける方法はありますか? –

答えて

1

ボタン要素を持っている必要がまあ場合、偽のプロパティを設定するためにJavaScriptを使用していない理由:フォーム中に「compoundValueのを読んで、その後

$('mybutton').compoundValue = { ... json ... }; 

をしてなど、

を本当にあなたをけれども提出あなたが達成しようとしているもののためのチェックボックスのグループや他のフォームビットを検討したいかもしれません。

+0

悲しいことに、クライアントがJavaScriptを無効にしている場合、劣化はかなり無慈悲です。しかし、提案のために+1。 –

+0

完全に正常に機能するには、別々のフォーム要素を使用するか、サーバ側でコンマ区切りの値を解析する必要があります。また、JavaScriptを無効にしたり、Webアプリケーションが必要としていることはあまり知られていません。 –

+0

@Eric Wendelin、あなたの祝福を数えてください。クライアントのエンドユーザーのかなりの部分がAOLブラウザを使用しています。 –