PHP не будет отражаться в Iframe в Webkit - PullRequest
0 голосов
/ 04 декабря 2011

Эй, ребята, у меня проблема с формой загрузки, которую я создал. Он работает в 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. Спасибо за помощь, ребята!

Ответы [ 2 ]

0 голосов
/ 06 декабря 2011

Спасибо огромное за помощь ваших парней.Джон, это была проблема с моим JavaScript.Я отключил кнопку отправки, как только она была нажата.Это работало нормально, за исключением того, что webkit это не нравилось, поэтому мне нужно было добавить onsubmit = "document.getElementById ('submitButton'). Disabled = true;"и теперь это прекрасно работает.Приветствия

0 голосов
/ 04 декабря 2011

Является ли URL-адрес iFrame тем же доменом, что и общая домашняя страница?Возможно, это связано с междоменной политикой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...