0

フォームの検証中にダイアログ ボックスを開くトリガーとなる送信ボタンがあります。Firefox と Chrome では問題なく動作しますが、IE8 では、一度表示されて閉じた後、もう一度ボタンをクリックすると、オーバーレイ モーダルだけが表示され、ダイアログ ボックスが消えます。ここに私のコードがあります:

//VALIDATION OF FORM STARTS HERE
$('input[type="submit"]').click(function() {

    //create the dialog box
    $.fx.speeds._default = 500;
    $( "#dialog-message_er" ).dialog({
        autoOpen: false,
        modal: true,
        show: "blind",
        hide: "drop",
        buttons: {
            Ok: function() {
                $( this ).dialog( "close" );
            }
        }
    });

    if (empty) {
        //get the count of errorforms
        required_length = error_forms_req.length;
        //get the list of missed required fields
        var reqlist = '';
        for (var i=0; i<required_length; i++) {
           reqlist += '<li>' + error_forms_req[i] + '</li>';
         }

        $('#dialog-message_er ul').append('<li class="req">You have missed the following required fields <ul> ' + reqlist + ' </ul></li>'); 

        $( "#dialog-message_er" ).dialog( "open" );
        return false;
    } else { 
        return true;
    }
});
4

1 に答える 1

0

Luccas から提供された質問で指摘されているように、おそらくheight('auto')ダイアログ要素に a を設定してみてください。

 $( "#dialog-message_er" ).dialog({
        autoOpen: false,
        modal: true,
        show: "blind",
        hide: "drop",
        buttons: {
            Ok: function() {
                $( this ).dialog( "close" );
            }
        }
    }).height('auto');
于 2012-11-16T05:22:37.497 に答える