0

フォームを含むdivがあります。そのdivをjqueryUIダイアログを使用したダイアログとして使用します。

フォームにはボタンがあります。ボタンがクリックされたときにビューに添付されたJSファイルからメソッドを呼び出したい。

どういうわけか、ダイアログは関数を見つけることができません。

HTML

<div id="Applon" title="Edit Slab" style="width: 100%; background-color: #33CCCC;">
<form action="\" id="frmDtl">
....
......


<button id="dtlCancel"  type="button" onclick="this.parent.CancelDetails()" style="font-weight: bold; color: #3333FF; width:60px;">
<div><span>Cancel</span></div>  
</button>
</form>
</div>

JSファイル

$(function() {
//  Dialog

    $("#Applon").dialog({
        autoOpen: false,
        height: 370,
        width: 650,
        modal: true,
        buttons: {

            Close: function() {
                $(this).dialog('close');
                //$('input:visible:enabled:first').focus();
            }
        },
        close: function() {
        }
    });
});

    function CancelDetails() {
        ....
    }

VS2008のMVC2ビューでこれを使用しています。ビューには2つの形式があり、そのうちの1つはダイアログです。

ボタンがクリックされたときにダイアログでJSファイル内の関数を検索するにはどうすればよいですか?

助けてください。

4

1 に答える 1

1

まず、インラインJavascriptから離れて、セレクターを使用して関数を起動してみてください。例えば、

$(function() {
   $("#dtlCancel").click(function(){
     CancelDetails();
  });
});

別のリソース(PartialView)からのものである場合は、これをモーダルコンテンツに配置できます。

また、ダイアログはIFrameですか、それとも単なるモーダルですか?それが単なるモーダルである場合でも、それは元のページの一部であり、「親」への参照は必要ありません。別のページのように見える、適切に配置されたdivと考えてください。

編集

JSコードファイルを見ると、$(function(){ステートメントの閉じ中括弧が欠落しているように見えます

あなたのコード:

$(function() {
//  Dialog

    $("#Applon").dialog({
        autoOpen: false,
        height: 370,
        width: 650,
        modal: true,
        buttons: {

            Close: function() {
                $(this).dialog('close');
                //$('input:visible:enabled:first').focus();
            }
        },
        close: function() {
        }
    });
//From your code above (next line)
    }
//Replace the above with this - basically add a ); after the curly brace
});

    function CancelDetails() {
        ....
    }
于 2012-06-25T17:22:20.933 に答える