0

長いサインアップフォームを作成していますが、フィールドを検証する必要があります。ほとんどの入力はテキストですが、条件用のチェックボックスが1つ、性別用のラジオボタンが2つあります。

したがって、入力のいずれかが空であるか、条件がチェックされていないか、性別が選択されていない場合に検証をトリガーしようとしていますが、これは機能しません。

if(((Nimi&&Osoite&&Postinumero&&Postitoimipaikka&&Postinumero&&Puhelin&&Sahkoposti&&Kurssi&&Kurssilaiset&&Koiranimi&&Koiraika&&Koirarotu)=="") || ((Sukupuoli)=="Valitse")) || ((Ehdot):not(:checked))){
//Input validation

//Gender Validation

//Conditions?
}

構文エラーもあると思いますが、どうすれば機能させることができますか?

明確にするために:

入力のいずれかが空であるか、チェックボックスがチェックされていないか、無線が選択されている場合にのみ検証をトリガーしたい。

4

3 に答える 3

2

神の母。これが、jQueryValidateが存在する理由です。それを使ってください、それは素晴らしいです。

于 2012-11-09T19:20:55.407 に答える
0
(Nimi&&Osoite&&Postinumero&&Postitoimipaikka&&Postinumero&&Puhelin&&Sahkoposti&&Kurssi&&Kurssilaiset&&Koiranimi&&Koiraika&&Koirarotu)

trueこれらの変数がすべて「偽」でない値であり、いずれかが「偽」である場合のブール値になりfalseます。次に、そのブール値を取得し、それを空の文字列と比較して等しいかどうかを確認します。別名、常にfalse

それらすべてを空の文字列と明示的に比較する必要があります。また、||(または)演算子を使用する必要があります。空の場合は実行する必要があるためです。すべてがそうである場合だけではありません。

(Nimi==="")||(Osoite==="")||...

編集:等式演算子を変更しました。===これは、比較が厳密であるため、型変換が行われないことを意味します。たとえば、を使用した「偽の」値と、:を使用==した厳密な比較との違いは次の===とおりです。

"" ==  false // true
"" === false // false
于 2012-11-09T19:20:37.937 に答える
0

&&条件は機能するはずです。たくさんの文字列を一緒に&&し、1つが ""の場合、評価全体が ""になります。それ以外の場合は、最後の文字列の値になります。

チェックボックスが選択されているかどうかをどのようにチェックするかが問題だと思います。$がjQueryの場合、正しい構文は次のようになります。

!$j("selector").is(":checked")
于 2012-11-09T19:35:35.403 に答える