0

ダイアログボックスを使用して、ページに問い合わせフォームを表示および送信しています.何度も呼び出しようとすると問題が発生します.最初はすべて正常に機能し、フォームは正常に送信されます.しかし、[GO]をクリックするとボタン (以下に html を追加)。この行のドキュメントでエラーが発生します。 編集:

<div class="hidden" id="dialog">
    <form action="index.php" class="testForm" id="testForm">
        <div class="name" id="name">
            <div class="displayName" id="dispName">Name</div>
            <div class="textName" id="viewName"><input type="text" class="fname" id="fullName" /></div>
            <div class="hide" id="nameErr"></div>

        </div>
        <div class="address" id="addressDetails">
            <div class="displayAddress" id="dispAddress">Address</div>
            <div class="textAddress" id=""><input type="text" class="taddress" id="fullAddress" /></div>
            <div class="hide" id="addressErr"></div>

        </div>
        <div class="submitForm" ><input type="button" class="submitDetails" id="submitInfo" name="Submit" value="Submit" onClick="validateAndSubmitForm()"/>
        <a name="Close" onclick="$('#dialog').dialog('close');">Close</a>
        </div>

    </form>
    </div>

Javascript\jquery

function submitEnquiryForProperty()

{

document.forms.testForm.reset();

$("#dialog").dialog({
                modal:true,
                resizable:false,
                autoOpen:false,
                width:260,
        });
openDialog();   

}

  function openDialog(){
$("#dialog").dialog("open");    
  }

  function closeDialog(){
$("#dialog").dialog("close");   
 }

フォーム送信時のコールバック関数

$.ajax({
            type:'POST',
            url:"processForm.php",
            data:"name="+name+"&address="+address,
            dataType:"html",

            success:function(msg){
                if(msg=="success"){
                    $("#dialog", window.parent.document).html("<div class='pad5'><div class='flt' style='padding-left:3px; width:235px;'><div class='thanx_msg'>Thank you for submitting the details. <br /><div class='spacer5'>&nbsp;</div><span class='gre'>Our Sales team shall revert to your query soon.</span></div></div><div class='spacer5'>&nbsp;</div><div style='padding-left:3px;' class='text'><strong>You can also:</strong></div><div style='margin-left:20px; line-height:20px;'>&bull; Apply for a <a href='homeloan.php'>Home Loan</a><br />&bull; Visit <a href='http://www.proptiger.com'>proptiger.com</a> for more properties<br />&bull; See our <a href='http://www.proptiger.com/blog'>Blog</a> for latest updates</div></div><br/><div class='msg' style='color:red;'>Click to close the box</div>");

                    $(function(){
                                $('#dialog').click(function() {
                                    closeDialog();
                                });
                            });

                }
                else
                {
                    alert("Operation cannot be completed,please try again");        
                }
            }

しかし、私は同じ問題に直面してい.reset()ます。行のエラー。
御時間ありがとうございます。

4

2 に答える 2

2

更新された回答

再利用可能なダイアログが必要な場合は、次のようにします。

  1. <div>最初の HTMLに dialog 要素 (ほぼ確実に) を含めます。CSS クラスを使用して、すぐに表示されないようにします。次に例を示します。

    HTML:
    <div id="dialog" class="hidden">...</div>
    
    CSS:
    .hidden { display: none }
    
  2. $("#dialog").dialog(options)ページがロードされた直後に JavaScript から無条件に呼び出します。オプションで必ず設定autoOpen: falseしてください。

  3. ダイアログを表示したいときはいつでも、 を使用して$("#dialog").dialog("open")ください。

  4. ダイアログを隠したいときはいつでも、 を使用して$("#dialog").dialog("close")ください。

  5. 手順 3 と 4 を好きなだけ繰り返します。

于 2012-06-21T07:36:52.723 に答える
0
.dialog( "destroy" )

ダイアログ機能を完全に削除します。これにより、要素が初期化前の状態に戻ります。

.dialog( "close" )

ダイアログを閉じます。

于 2012-06-21T07:48:56.613 に答える