2014-10-11 69 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