2

私のphpスクリプトにはQandA2Table.phpに配置された2つの関数がありますが、モーダルウィンドウがそのページの詳細を表示するため、それらのボタンはpreviousquestions.phpページに配置されています。

とにかく、「閉じる」ボタンと「追加」ボタンの下に2つのボタンがあります。

<div id="previouslink">
<button type="button" id="close" onclick="return parent.closewindow();">Close</button>

</div>

<?php 

      $output = "";

        while ($questionrow = mysql_fetch_assoc($questionresult)) {
$output .= "
<table>
      <tr>
      <td id='addtd'><button type='button' class='add'>Add</button></td>
      </tr>";
        }
        $output .= "        </table>";

        echo $output;

  }

}

?>  

私が抱えている問題は、モーダルウィンドウを閉じることです。「閉じる」ボタンをクリックするとモーダルウィンドウが閉じますが、「追加」ボタンをクリックしてもモーダルウィンドウは閉じません。どうしてこれなの?

以下は、2 つのボタン機能です。

function closewindow() {     

    $.modal.close(); 
    return false;
} 

         $(".add").on("click", function(event) {
        console.log("clicked");

        var theQuestion = $("td:first-child", $(this).parent()).text();

        if ($('.activePlusRow').length > 0) {
            $('.activePlusRow').next('.textAreaQuestion').val(theQuestion);
        }
        parent.closewindow();
        return true;
    });

以下はiframeです:

function plusbutton() { 
    // Display an external page using an iframe 
    var src = "previousquestions.php"; 
    $.modal('<iframe src="' + src + '" style="border:0;width:100%;height:100%;">');
    return false;
}
4

1 に答える 1

0

私があなたを誤解していなければ。理由と解決策は簡単です

iframe を作成するモーダル コンテナ ページには、これらの機能がありますか?

closewindow() と関数 plusbutton()

それらの横にもあなたが持っています

$(".add").on("click", function(event) {
    ...............

私が理解していれば、メインhtmlの部分-イベントキャッチャー-?

したがって、 $(".add").on("click", function(event) .... が iframe 内のボタンによってトリガーされることは期待できません。

簡単にできることは、 $(".add").on("click", function(event) を関数に変換することです

それを変える

$(".add").on("click", function(event) {
    console.log("clicked");

    var theQuestion = $("td:first-child", $(this).parent()).text();

    if ($('.activePlusRow').length > 0) {
        $('.activePlusRow').next('.textAreaQuestion').val(theQuestion);
    }
    parent.closewindow();
    return true;
});

function add_function {
    console.log("clicked");

// フレーム ID 参照を追加して、この部分をコンテンツ階層に合わせて変更します。// td:first-childs 親で解析するデータがわかりません。var theQuestion = document.frames["the_frame"].$("td:first-child", $(this).parent()).text();

    if ($('.activePlusRow').length > 0) {
        $('.activePlusRow').next('.textAreaQuestion').val(theQuestion);
    }
    parent.closewindow();
    return true;
}

iframeコンテンツのこの行を変更します

<td id='addtd'><button type='button' class='add'>Add</button></td>

<td id='addtd'><button type='button' class='add' onclick="parent.add_function();" >Add</button></td>

plusbutton関数でiframeクリエーター行にIDを追加します

 $.modal('<iframe if="the_frame" src="' + src + '" style="border:0;width:100%;height:100%;">');
于 2012-08-21T23:36:33.390 に答える