3

PHPステートメントやJavaScriptに頼らずに、これに対する解決策を見つけるのに苦労しています。これは、アイデアが非常に単純に見えるため、2 つを使用せずにこれを行う方法があるに違いないと確信しています。

登録フォームがあり、このフォームの特定のフィールドは必須です。しかし、注文に問題がある場合に連絡できるように、ユーザーに少なくとも1つの電話番号を入力する必要があるため、私は一種の困惑に陥っています.

だから私は3つのフィールド、「電話」「携帯」「ファックス」を持っています

私がやりたいことは、ユーザーがフォームを完了するために電話番号または携帯電話番号を入力する必要があるようにすることです。

しかし、私の質問はこれだと思います...requiredこの効果を達成するために、何らかの方法で属性を使用することは可能ですか?

これらのフィールドの html は次のとおりです。

<li>
<label for="phone">Phone:</label>
<input type="tel" name="phone" id="phone" value="'.htmlout($phone).'" required aria-required="true" placeholder="0317021101"title="Please enter your home or work number here. You must enter either a phone, or mobile number." maxlength="20"/>
</li>
<li>
<label for="mobile">Mobile:</label>
<input type="tel" name="mobile" id="mobile" value="'.htmlout($mobile).'" placeholder="0827564829" title="Please enter your mobile number here. You must enter either a mobile, or phone number." maxlength="20"/>
</li>

これに関する支援、意見、またはアドバイスをいただければ幸いです。

4

4 に答える 4

3

最初の電話番号フィールドが必要な2つの電話番号フィールドがある方が簡単ではないでしょうか。説明では、どちらの番号も携帯電話番号か何か他のものにすることができると言っているようですので、構造を対称にしてみませんか?

1つ目は「プライマリ電話(必須)」、もう1つは「セカンダリ電話(オプション)」というラベルを付けることができます。これらはラベルとしてはかなり長いですが、私の経験では、ラベルが短すぎると(「電話」や「代替電話」など)、一部のユーザーが最初の番号を再入力する傾向があります...

于 2012-01-04T17:38:05.913 に答える
2

残念ながら、required個々のフィールドでのみ機能し、フィールドのグループでは機能しません (同じ があってもname)。そのため、HTML5 検証だけでこれを行う方法はありません。

デモ: http://jsfiddle.net/ka7kC/

とにかく、クライアント側の検証に頼るべきではありません。サーバー側でも検証する必要があります。さらに、すべてのブラウザーが HTML5 検証をサポートしているわけではありません。

jQuery を使用している場合は、クライアント側に実証済みの検証プラグインをお勧めします。

于 2012-01-04T17:30:07.710 に答える
1

実際に必要な場合は、サーバー側の検証スクリプトだけが実際にそれを強制できます。

Javascript は、クライアント側で複雑な (つまり、パターン マッチング以上のもの) 検証を行うための唯一の他のオプションです。

于 2012-01-04T17:31:17.497 に答える
0

「required」属性は、IEのほとんどのバージョンとSafariの一部のバージョンでは機能しないため、入力を別の方法で検証する必要があります。

于 2012-01-04T17:32:17.787 に答える