0

以下の私の Web ページでは、CalcModule.func2() 関数内のいくつかのコードが、id=errorbox の div 要素にエラー メッセージを書き込みます。私の問題は、この div 要素をフォーム (myForm) の上に配置すると、CalcModule.func2() 関数がエラー メッセージを書き込むときにページ全体が消去されることです。フォームの下に div errorbox 要素を配置した場合のみ (コードを参照)、ページは消去されません。

どこが間違っていますか?

<head>
    <title></title>

    <script>
        function CalcModule(){};
        //some vars
        CalcModule.var_a;
        CalcModule.var_b;
        //etc.

        //some functions
        CalcModule.func1 = function(msg){ 
        }

        CalcModule.func2 = function(){
            if(!selected){ //no checkbox selected?
                $("#errorbox").removeClass("success");
                $("#errorbox").addClass("error");
                $("#errorbox").html("errormessage");
             }
             else{
                $("#errorbox").removeClass("error");
                $("#errorbox").html("");
             }
        }
        //etc.

        $(document).ready(function(){
            $("#myForm").validate({})

            $.get("process.php", //ajax call
                function(msg) {
                    var form = Getform(msg);
                    $("#wrapper").append(form);
                }
            )

        }//$(document).ready(function

    </script>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
    <!-- ideally the '<div id="errorbox"><div>' should be at this location, but that does not work-->
    <form id="myForm" name="myForm" action="" method="post" autocomplete="on">
        <!--some table html code here-->
        <div id="wrapper"></div> <!--anchor point for adding set of form fields -->        
        <input type="submit" name="submitForm" value="Submit Form">
    </form>
    <div id="errorbox"><div> <!--this seems the only location for this div on the page where the page is not erased-->
</body>
4

2 に答える 2

4

次のようにする必要があります。 <div id="errorbox"></div>

DIV 終了タグを使用してください! それ以外の場合、ブラウザは親の TAG を閉じる直前に自動的に閉じて、html() メソッドがすべての親のコンテンツを置き換えます。

于 2013-09-14T12:29:29.083 に答える
0

.html() の代わりにこれを試してください

$("#errorbox").empty();
$("#errorbox").append("Error Message");
于 2013-09-14T12:45:04.177 に答える