jQuery对话不稳定的行为

时间:2010-10-13 15:32:28

标签: jquery jquery-ui

我遇到了一些jquery对话框代码的问题。第一次打开窗口,如果我提交表单,它会在div中返回消息。但是,如果关闭对话框后,我再次打开它,它仍然保留消息并且尚未清除。此外,当我按下提交按钮时,它将打开两次php页面。它似乎每次打开对话框时都这样做。如果我再次关闭并打开对话框,它将打开php页面3次。我在哪里错了?

    // feedback form
$(document).ready(function(){
    function feedbacknew() {

    // jquery-ui confirm dialog box 
    $("#form").dialog({
        autoOpen: false,
        resizable: false,
        modal: true,
        title: 'Submit a feedback request',
        width: 440,
        height: 470

        /*buttons: {
            'Remove': function () { // remove what you want to remove 
                // do something here 
                alert("this is a test alert!");
                $(this).dialog('close');
                $("#flex1").flexReload();
            },
            Cancel: function () {
                $(this).dialog('close');
            }
        }*/
    });
    });


    $('#submit').click(function () {
        var name = $('.uname').val();
        var data = 'uname=' + name;
        $.ajax({
            type: "POST",
            url: "feedback.php",
            data: data,
            success: function (data) {
                $('#message').html(data);
                $("#flex1").flexReload();
            },
            error:function (xhr, ajaxOptions, thrownError){
                    alert(xhr.status);
                    alert(thrownError);
                } 
        });
        return false;
    });

    $("#form").dialog('open');

}

1 个答案:

答案 0 :(得分:0)

取出“$(”#form“)。对话框({....});”来自feedbacknew()函数的代码将它放在它上面(把它放在全局页面范围内,但在$(document).ready(function(){});)中。每次执行该函数时,您都要重新定义对话框。