2012-05-30 7 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

Добро пожаловать на SO ! Есть ли ошибка JavaScript перед запуском '$ .modal.close()' внутри обработчика кнопки добавления? –

+0

@ Неверные ошибки отображаются в консоли ошибок – user1394925

+0

'self.parent.tb_remove()', закройте окно iframe. – Rafee

ответ

0

Если я не получил, что вы неправы. Причина и решение просты.

Ваша модальная страница контейнера, в которой вы создаете iframe, имеет эти функции правильно?

CloseWindow() и функция plusbutton()

у них также у вас есть

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

часть -Event catcher- в главном HTML, если я понимаю правильно?

Таким образом, вы не можете ожидать $ («добавить„). На (“клик», функция (событие) .... быть вызвано кнопкой внутри фрейма.

Что вы можете просто сделать это преобразование $ ("добавить "). на (" клик", функция (событие) для функции

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

// измените эту часть, чтобы она соответствовала вашей иерархии контента, добавив повторения идентификатора кадра. // Я не знаю, какие данные вы будете анализировать в td: родительский родитель. 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> 

и добавить идентификатор в IFrame создатель линии в функции plusbutton

$.modal('<iframe if="the_frame" src="' + src + '" style="border:0;width:100%;height:100%;">'); 
Смежные вопросы