Эй, ребята, у меня проблема с формой загрузки, которую я создал. Он работает в Firefox и IE, но не работает с Safari и Chrome, поэтому я предполагаю, что это проблема webkit.
Сначала я запускаю форму php и меняю цель на iframe. Затем, когда загрузка будет завершена, я получаю PHP для вывода div с оператором true / false обратно в iframe.
У меня проблема в том, что PHP не отображает выражение в iframe.
вот код, который я получил:
в php:
//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 я делаю несколько проверок, чтобы увидеть, заполнены ли формы и т. Д., А затем, если все хорошо, я сначала вызываю submit (), а затем вызываю 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.
Спасибо за помощь, ребята!