2012-04-16 9 views
0

私はquantityというフォームフィールドを入力する必要があります。しかし、私のフォームでは、私は価値を得るためにいくつかの方法があります。私はJavaScriptでこれにアプローチするかどうか、各エントリオプションのために別々のフィールド名を作成するか、まったく別のものを作成するかはわかりません。あなたは私にこれを与えることができる任意の洞察力のために事前に感謝!複数の入力メソッドを使用したフォームフィールド処理に関する提案が必要

ここに質問があります:「あなたは何人登録していますか?

オプション1: "自分のみ"

オプション2: "私と__その他"

オプション3:

私の最初の考えはだった "私は彼らに代わって__人を登録しています"以下のHTML(書式設定の粗野を許して)持っている:

<input type="radio" name="quantity" value="1" /> Myself only<br /> 

Myself and <select name="quantity"> 
<option value="0"></option> 
<option value="2">1 other</option> 
<option value="3">2 others</option> 
<option value="4">3 others</option> 
<option value="5">4 others</option> 
<option value="6">5 others</option> 
<option value="7">6 others</option> 
<option value="8">7 others</option> 
<option value="9">8 others</option> 
<option value="10">9 others</option> 
</select><br /> 

I'm registering <input type="text" name="quantityplus" /> people on their behalf. 

を、フォームの残りの部分は、連絡先情報を収集し、次の画面で設定を表示していましたこのステップで選択されたquantityに基づいて登録フィールド(名前、電子メールなど)を入力します。その最後の1つ(quantityplus)私は、このページで提供される連絡先情報を除外し、そのフィールドの値にリストされている実際の人数を表示するフォーム処理コードのリスナーを持っています(管理アシスタントが登録する彼女の上司&他に5つのセミナーがありますが、自分自身に出席していません)。

これが問題に近づく最適な方法でしょうか?または、フォームが送信される前にJavaScriptを使用して更新された隠されたquantityフィールドを持っている必要がありますか?その場合は、quantityplus号の問題をどのように考慮しますか?

答えて

1

私はあなたが別の第三のテキストを選択、1つのオプションのラジオを持っていることによって大幅にフォームが混乱していると思う、私はより多くのようなもののために行くだろう。これをフォーマットして

<label for="myself">Myself only <input type="radio" name="type" id="myself" value="myself" /></label> 

<label for="myselfAndOthers">Myself and others <input type="radio" name="type" id="myselfAndOthers" value="myselfAndOthers" /></label> 
<label for="myselfAndOthersQuantity">Quantity:</label><input type="text" name="quantity" id="myselfAndOthersQuantity" /> 

<label for="others">Others <input type="radio" name="type" id="others" value="others" /></label> 
<label for="othersQuantity">Quantity:</label><input type="text" name="quantity" id="othersQuantity" /> 

行う必要がありますオプションがクリアされている場合、PHPは3種類の処理のPOST値をtypeに切り替えることができます。

+0

ありがとうございます。一貫性のために、最初のオプションに値1の隠された 'quantity'フィールドを追加しますか? –

+0

これはあなたの取り扱い上必要ではないでしょう(タイプ==自分であれば数量はデフォルトで1になります)、私はいいえと言います。独自のIDを使用すると、JS検証を簡単に処理できます。 – Ing

+0

良い点。私はその型が選択されるまで2つの数量フィールドを隠し、それを表示するためにjQueryを使用することを考えています。私はそれがまだ$ _POSTプロセッサにそれらの隠された変数を行うだろうかどうかはわかりませんが、チェックするのは簡単です。 –

0
No of person for registration: <input type="text" name="quantity_per" /> 

Include Me: <input type="checkbox" name="inc_me" value="1" /> 

非常に多くのフィールドの代わりにこのコードを使用します。

+0

良いアイデアですが、UXを改善するために余分なコードは気にしません。この場合、私はそれがより混乱しているか、エラーの影響を受けやすいと思っています(チェックボックスを外した人のように) –

+0

ユーザの観点からは、ユーザの判断にはあまりにも混乱があります。フォームの応答を処理するためにはjavascriptも必要です。 –

関連する問題