2014-10-11 139 views
1

这有点令人困惑。我正在尝试将网址提交给同一页面上的iframe。当我点击提交时,iframe会复制当前页面,但正确的url位于复制的iframe中。我怀疑它会永远持续下去吗?发生这种情况的页面是http://www.4mobilesites.com,代码如下。针对iframe的网址的帖子显示在iframe的iframe中

<div class="mobile-logo"> 
<H2>How does your website look on a Mobile Device?</h2> 
<?php 
$keyurl = $_POST['siteurl']; 
?> 

<form method="post" target="mobileframe" > 
Enter your website's URL: <input type="text" name="siteurl" value="http://" size="50"><br> 
<input type="submit" value="VIEW"> 
</form><br> 
<a name="iframe-1"></a> 
<div class="theiframewrap"><iframe name="mobileframe" class="theiframeid" src="<?php echo "$keyurl"; ?>" id="mobileframe"></iframe></div></div> 

如果你在表单提交的URL,然后向下滚动在iframe有点斜视,你会看到正确的URL在iframe的iframe中。

回答

0

你可以使用这样简单的帖子。我认为造成这种情况的原因是因为该形式的目标属性。它将您的整个页面发送到iframe。

<?php 
$keyurl = ''; 
if(isset($_POST['siteurl'])) { 
    $keyurl = $_POST['siteurl']; 
    echo $keyurl; 
} 
?> 

<div class="mobile-logo"> 
    <H2>How does your website look on a Mobile Device?</h2> 
    <form method="post"> 
     Enter your website's URL: <input type="text" name="siteurl" value="http://" size="50"><br> 
     <input type="submit" value="VIEW" /> 
    </form><br> 
    <a name="iframe-1"></a> 
    <div class="theiframewrap"> 
     <iframe name="mobileframe" class="theiframeid" src="<?php echo $keyurl; ?>"></iframe> 
    </div> 
</div> 

或者,你可以只使用jQuery的这个:

<div class="mobile-logo"> 
    <H2>How does your website look on a Mobile Device?</h2> 
    <form method="post"> 
     Enter your website's URL: <input type="text" name="siteurl" value="http://" size="50"><br> 
     <input type="submit" value="VIEW" /> 
    </form><br> 
    <a name="iframe-1"></a> 
    <div class="theiframewrap"> 
     <iframe name="mobileframe" class="theiframeid" src=""></iframe> 
    </div> 
</div> 

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 

    $('input[type="submit"]').on('click', function(e){ 
     e.preventDefault(); 
     var url = $('input[name="siteurl"]').val(); 
     $('.theiframeid').attr('src', url); 
    }); 

}); 
</script> 

重要提示:不是所有的网站都会让你把他们在你的iframe中。 (雅虎等)

+0

目标是为了阻止整个页面刷新提交。我可以让iframe在没有目标的情况下工作,但它会刷新页面。 – user2905145 2014-10-11 01:58:13

+1

jQuery代码就像一个魅力。我花了很多时间研究这个,你是一个救生员。谢谢。 – user2905145 2014-10-11 02:00:33

+0

@ user2905145是的,我明白你的意思,因为发生的事情是,当你使用该目标时,你的页面将是那个src =“”而不是你提交的页面。反正第二种方式也会做这个工作 – Ghost 2014-10-11 02:02:21