1

ここhttp://validator.codeplex.comのスクリプトを使用してフォームを検証しようとしています。

これが私のHTMLフォームです:

<form action="#" method="POST" id="input" autocomplete="on">
    <fieldset>              
        <input type="text" name="name" id="name" value=""  maxlength="60" validate="form" require="Please enter your name." />
        <input type="email" name="email" id="email" value=""  maxlength="80" validate="form" require="Please enter your email address." email="Please enter a valid email address." />
        <input type="url" name="url" id="url" value=""  maxlength="400" validate="form" require="Please enter your website." />
        <input type="checkbox" id="updates" name="updates"  />
        <input type="checkbox" id="agree" name="agree"  validate="form" require="Please agree to the terms."/>
        <input type='submit' value=""  id="submit" onclick="return validate('form');" />
    </fieldset>
</form>

チェックボックスを除いて、すべてのフィールドが正しく検証されます。スクリプトを使用してチェックボックス部分を正しく検証する方法がわかりません。何かご意見は?

また、ここにjavascriptの部分があります:http://jsfiddle.net/baumdexterous/TBtSD/

ありがとうございました!!

4

2 に答える 2

1

@jrummellがコメントで述べているように、プラグインのサポートを求めることはより有益であり、それがオプションである場合、私はに切り替えることを提案しますvalidate.js

これがマークアップ付きのデモです

于 2012-05-29T18:23:42.630 に答える
1

バリデータ スクリプトで、以下のように 2 行を追加します。

function check(elm) {
  var jelm = $(elm);

  var listsize = jelm.find("input:radio, input:checkbox").size();
  if (jelm.attr("disabled") || listsize > 0 && listsize == jelm.find("input:radio:disabled, input:checkbox:disabled").size())
    return "";

  //ADD THESE TWO LINES
  if (jelm.attr("require") && jelm.is(":checkbox:not(':checked')"))
    return "require";
  //------------------------

  //if empty value only perform required validation
  if ((jelm.val() == "" || jelm.val() == null) && jelm.find("input:radio:checked, input:checkbox:checked").size() == 0)
    return jelm.attr("require") ? "require" : "";
于 2012-07-08T22:15:17.303 に答える