2012-05-30 163 views
2

我的php腳本中有兩個函數放在QandA2Table.php中,但是它們的按鈕放在previousquestions.php頁面中,因爲模態窗口顯示該頁面的詳細信息。模態窗口不關閉

反正我有兩個按鈕,下面是一個「關閉」按鈕和「添加」按鈕:

<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; 

    } 

} 

?> 

我的問題是關閉模式窗口。當我點擊「關閉」按鈕時,它關閉了很棒的模式窗口,但是如果我點擊一個「添加」按鈕,它就不會關閉模態窗口。爲什麼是這樣?

下面是兩個按鈕的功能:

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; 
} 
+0

歡迎添加ID的iframe中創建者線SO !在添加按鈕處理程序中運行'$ .modal.close()'之前是否存在JavaScript錯誤? –

+0

@Jack沒有錯誤顯示在錯誤控制檯 – user1394925

+0

'self.parent.tb_remove()'中,關閉iframe窗口。 – Rafee

回答

0

如果我沒有得到你錯了。原因和解決方案很簡單

你的模態容器頁面 - 你在裏面創建iframe--有這些功能嗎?

closewindow()和功能plusbutton()

他們身邊還必須在主HTML

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

部分-event catcher-如果我的理解對不對?

所以你不能指望$(「添加‘)。在(’點擊」,函數(事件)......通過iframe內的一個按鈕來觸發。

什麼,你可以簡單地做的是將$( 「添加 」)。在(「 點擊」,函數(事件)傳遞給函數

CHAGE是

$(".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 parent。 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功能

$.modal('<iframe if="the_frame" src="' + src + '" style="border:0;width:100%;height:100%;">');