26

このリンクをクリックしたときにこのダイアログポップアップフォームを表示しようとしていますが、機能しません。私は過去3時間これに取り組んできましたが、これは私にとって非常に苛立たしいものになっています。

これが私のHTMLです:

<a href="#" id="contactUs">Contact Us</a>
<div id="dialog" title="Contact form">
  <p>appear now</p>
</div>

これが私のJavaScriptです。これは外部ファイルにあります。

$("#contactUs").click(function() {
  $("#dialog").dialog("open");
  return false;
});

私はこれらのリンクを使用しましたが、役に立たなかった:

アイデアがあれば教えてください、ありがとうございます。

4

6 に答える 6

51

この HTML は問題ありません。

<a href="#" id="contactUs">Contact Us</a>                   
<div id="dialog" title="Contact form">
  <p>appear now</p>
</div>

ダイアログを初期化する必要があります(これを行っているかどうかはわかりません):

$(function() {
  // this initializes the dialog (and uses some common options that I do)
  $("#dialog").dialog({
    autoOpen : false, modal : true, show : "blind", hide : "blind"
  });

  // next add the onclick handler
  $("#contactUs").click(function() {
    $("#dialog").dialog("open");
    return false;
  });
});
于 2012-06-03T00:55:00.110 に答える
8

あなたの問題はダイアログの呼び出しにあります

ダイアログを初期化しない場合は、表示するために「open」を渡す必要はありません。

$("#dialog").dialog();

また、このコードが機能するには、$(document).ready();関数上にあるか、要素の下にある必要があります。

于 2012-06-03T00:57:26.467 に答える
6

以下のコードを使用すると、うまくいきました。

<script type="text/javascript">
     $(document).ready(function () {
            $('#dialog').dialog({
                autoOpen: false,
                title: 'Basic Dialog'
            });
            $('#contactUs').click(function () {
                $('#dialog').dialog('open');
            });
        });
</script>
于 2015-01-11T19:18:05.133 に答える
5

非常に簡単です。最初に HTML を追加する必要があります。

<div id="dialog"></div>

次に、初期化する必要があります。

<script type="text/javascript">
  jQuery( document ).ready( function() {
    jQuery( '#dialog' ).dialog( { 'autoOpen': false } );
  });
</script>

この後、コードで表示できます:

jQuery( '#dialog' ).dialog( 'open' );
于 2013-12-08T10:05:49.643 に答える
2

次のスクリプトを使用できます。それは私のために働いた

モーダル自体は、メインのモーダル コンテナー、ヘッダー、ボディ、およびフッターで構成されます。フッターにはアクション (この場合は [OK] ボタン) が含まれ、ヘッダーにはタイトルと閉じるボタンが含まれ、本文にはモーダル コンテンツが含まれます。

 $(function () {
        modalPosition();
        $(window).resize(function () {
            modalPosition();
        });
        $('.openModal').click(function (e) {
            $('.modal, .modal-backdrop').fadeIn('fast');
            e.preventDefault();
        });
        $('.close-modal').click(function (e) {
            $('.modal, .modal-backdrop').fadeOut('fast');
        });
    });
    function modalPosition() {
        var width = $('.modal').width();
        var pageWidth = $(window).width();
        var x = (pageWidth / 2) - (width / 2);
        $('.modal').css({ left: x + "px" });
    }

参照: -asp.net で jquery を使用したモーダル ポップアップ

于 2015-03-30T04:41:53.623 に答える