3

さて、このフォームに関する最後の質問です。どこにも文書化されていないように見えるIE8の1つのエラーを除いて、完全に機能しています(このコンテキストでは、私が見つけることができます...)。

このフォームを IE9 の IE8 モードで実行すると、開発ツールに次のように表示されます。

SCRIPT65535: Unexpected call to method or property access. jquery.min.js, line 2 character 65772

this.appendChild(a)jquery.min.jsに対応する

エラーを無視しても、検証は IE8 でも機能します。IE9、Chrome、Firefoxでは全く問題ありません。

確認コードの機能スニペット...

<head>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js"></script>


<style>

.incomplete {
    border: 1px solid red;
    }

</style>

<script type="text/javascript">
    //form validation start
   $(document).ready(function() {

   $("#form").validate({
        errorLabelContainer: "input",
        wrapper: ".form",
        keyup: false,
        onfocusout: false,
        onclick: false,
        onchange: false,
        errorElement: "input",
        errorClass: "incomplete",
        rules: {
            organization: {
                defaultInvalid: true,
                required: true,
                minlength: 2
                },
            firstname: {
                defaultInvalid: true,
                required: true,
                minlength: 2
                },
            lastname: {
                defaultInvalid: true,
                required: true,
                minlength: 2
                },
            email: {
                defaultInvalid: true,
                required: true,
                email: true
                },
            phone: {
                defaultInvalid: true,
                required: true,
                minlength: 10
                },
        }
    });
   }); 
</script>

</head>
<body>

<div id="border">
    <div id="form_title">REQUEST INFO</div>
    <form id="form" name="form_container" action="#">
        <!-- fields -->
        <input id="organization" type="text" name="organization" />
        <input id="firstname" type="text" name="firstname" />
        <input id="lastname" type="text"  name="lastname" />
        <input id="email" type="text" name="email" />
        <input id="phone" type="text" name="phone" />
        <!-- submit button -->
        <input id="button" name="submit" class="button" type="submit" value="submit" /> 
    </form>
</div>

</body>
</html>

皆さんの助けがなければ、ここまでの作業はできませんでした。ありがとうございます。

4

2 に答える 2

1

これが役立つかどうかはわかりませんが、小さな構文エラーがあります。

phone: {
            defaultInvalid: true,
            required: true,
            minlength: 10
            },

余分なコンマに注意してください。これはリストの最後のものであり、必要ありません。appendChildこのコンマの後に空のルールを使用している可能性がありますが、それはエラーですか?

于 2012-09-05T21:03:12.607 に答える
0

わかりました、私はこれを真に理解することはできませんでしたが、エラーなしでIE8で動作するものを見つけました.

主な違いはerrorLabelContainer、個々の入力ではなくフォームのクラスに変更され、errorElement削除されたことです (不要になったことに気づきました)。

wrapper: ".formwrapper",
keyup: false,
onfocusout: false,
onclick: false,
onchange: false,
errorLabelContainer: ".form",
errorClass: "incomplete",
于 2012-09-07T20:13:45.513 に答える