嘿傢伙我有一個上傳表單的問題,我做了。它適用於Firefox和IE,但它不適用於Safari和Chrome,所以我認爲這是一個Webkit問題。 首先我運行php窗體並將目標更改爲iframe。然後,一旦它完成上傳,我得到PHP回聲一個真正/假的聲明回到IFRAME。 我遇到的問題是PHP沒有將聲明回顯到iframe中。 這裏的代碼我有:在PHPPHP不會迴應到Webkit中的Iframe
:
//do all the appropriate checks etc and if it's uploaded do the following
if ($success == true)
{
echo '<div id="result">success</div>';
} else {
echo '<div id="result">error</div>';
}
然後在我的javascript我做一些檢查,看看錶格填寫等,然後如果一切順利我打電話提交()第一,然後我叫iframeCheck()
function submit()
{
//change the target of the upload form to upload to the iframe.
$('#contactForm').attr('target','uploadIframe');
//submit the iframe
$('#contactForm').submit();
//fade in the sending message
$('#sendingMessage').fadeIn(200);
}
function iframeCheck()
{
//get the contents of iframe
var elem = $('#uploadIframe').contents().find('div#result');
var result = elem.html();
//if there's nothing in it, upload hasn't finished...
if (elem.length <= 0)
{
//check it again in 2"
clearTimeout(timer);
var timer = setTimeout(iframeCheck, 2000);
} else if (result =='success'){
//if it contains a success message, display the success message
$('#sendingMessage').fadeOut(200);
$('#successMessage').fadeIn(500);
inputButton.removeAttr('disabled');
} else {
if (result == 'error')
{
//otherwise display the error message
$('#sendingMessage').fadeOut(200);
$('#failureMessage').fadeIn(500);
inputButton.removeAttr('disabled');
}
}
}
它工作正常,在FF和IE,但正如我所說的Chrome和Safari不會呼應到iframe中。 感謝您的幫助!
嘿男人,PHP是服務器端,所以它應該不管你使用什麼瀏覽器。問題我你的客戶端腳本。 – Rooster
如果該演示的作品,那麼它不是瀏覽器問題:http://api.jquery.com/contents/ –
爲什麼不使用$ .post()$ .get()?在這種情況下? –