2014-11-05 4 views
0

У меня есть iframe, чей src-файл (приведенный ниже) содержит форму, которая использует _self target. Действие возвращает текстовую строку. После того, как он был отправлен, я хотел бы перезагрузить iframe исходным контентом, если мышь покидает форму или пользовательские типы ESC.Не удалось сбросить содержимое iframe

Я не могу заставить iframe сбросить настройки. Любая помощь оценивается. Это 'мастер' HTML файл:

<html> 
<head> 
<title>iframe test</title> 


<script type="text/javascript" src="../jquery-1.11.1.js"></script> 
<script> 
function foo(e){ 
    $('iframe.popup').css('display','block'); 
    $(e.target).css('z-index','10'); 
} 

$(document).ready(function(){ 
    var popup = $(document).find(".popup"); 
    popup[0].origSrc = popup[0].src; // save orignal content of iframe 

    $(document).keyup(function(e) { 
     if (//e.keyCode == 13 ||  // enter 
      e.keyCode == 27) {  // esc 
      $(document).find(".popup").hide(); 
     } 
     }); 
    $(".floatbar").click(function(e){ 
     if (e.target.className == "floatbar"){ 
      e.preventDefault(); 
     } 
     else { 
      return true; 
     } 
     popup = $(this).find(".popup"); 

     popup.empty(); 
     popup.load(popup[0].origSrc); 

     popup.show();//fadeIn("slow"); 
     popup.mouseleave(function(e){ 
      //$(this).fadeOut("fast"); 
      $(this).hide(); 
      $(this).empty(); 
      }); 
     popup.keydown(function(e){ 
      if (e.keyCode == 27){ 
       $(this).hide(); 
       $(this).empty(); 

      } 
      }); 
     }); 


}); 
</script> 
<style> 
.popup { 
     position:absolute; 
     border:1em; 
     top:0px; 
     font-size: 2.0em; 
     display:none; 
     text-decoration: none; 
     z-index: 5; 
} 
iframe.login { 
       background: darkblue; 
       width: 300%; 
       min-height:400px; 
       } 

form { 
     color: white; 
     list-style-type: none; 
     } 

</style> 
</head> 
<body> 

<a class="floatbar" href="#">Some text 

<iframe class="popup login" src="register.close.html"></iframe> 
</a> 
</body> </html> 

Файл 'register.close.html':

<html> 
<head> 
</head> 
<body> 
<form name="registration" action="../php/register.php" method="post" 
accept-charset="utf-8" target="_self" > 
    <div> 
     <p><label for="submit"> Hi</label> 
     <input type="submit" name="submit" id="submit" value="Register" > 
     </p> 
    </div> 
</form> 
</body> </html> 

Еще раз спасибо.

+0

Невозможно просто перезагрузить iframe с помощью '$ (" # iframe "). Attr (" src ", $ (" # iframe "). Attr (" src "));' –

+0

Я сделал и это сработало , Благодарю. Все еще запутано, почему загрузка не работает. Есть предположения? – LenB

+0

Я не знаю, почему загрузка не работает. Однако при программировании мне нравится следовать простому правилу: KISS, Keep It Simple Stupid. В значительной степени, не делайте ничего более сложного, чем это должно быть. –

ответ

0

Чтобы перезагрузить iframe, я просто использую следующий код.

$("#iframe").attr("src", $("#iframe").attr("src")); 

Все это устанавливается атрибут Iframe в src себе. Это заставляет его перезагружаться.

Смежные вопросы