2013-09-11 3 views
0

Вот мой код ..отлично работает в Firefox, но не в хроме

<!DOCTYPE html> 
<html> 
    <head>  
    <script src="http://code.jquery.com/jquery-1.8.0.min.js"></script> 
    </head> 
    <body> 

    <form id="foo"> 
    <label for="bar">A bar</label> 
    <input id="bar" name="bar" type="text" value="" /> 
    <input type="submit" value="Send" /> 
    </form> 

    <div id ="onsuccess"></div> 
</body> 

</html> 
Javsacript: 

<script> 
// variable to hold request 
var request; 
// bind to the submit event of our form 
$("#foo").submit(function(event){ 

    $("#onsuccess").html('<img src="a.gif"/>'); 
    var $form = $(this); 

    var serializedData = $form.serialize(); 

    request = $.ajax({ 
     url: "a.txt", 
     type: "post", 
     timeout:30000, 
     dataType: "text", 
     data: serializedData, 

    }); 

    // callback handler that will be called on success 
    request.done(function (response, textStatus, jqXHR){ 
     // log a message to the console 
     console.log("Hooray, it worked!"); 
     $("#onsuccess").html(response); 

    }); 

    // callback handler that will be called on failure 
    request.fail(function (jqXHR, textStatus, errorThrown){ 
     // log the error to the console 
     console.error(
      "The following error occured: " + 
      textStatus, errorThrown   
     ); 
    }); 

    // callback handler that will be called regardless 
    // if the request failed or succeeded 
    request.always(function() { 
     // reenable the inputs 
     // $inputs.prop("disabled", false); 
    }); 

    // prevent default posting of form 
    event.preventDefault(); 


}); 
/* 
$("#loading").ajaxStart(function(){ 
    $(this).show(); 
}).ajaxStop(function(){ 
    $(this).hide(); 
}); 
*/ 

$(document).ready(function(){ 

$(window).scroll(function(){ 

/*console.log("you are scrolling the page"); 
console.log("window scroll top ="+ $(window).scrollTop()); 
console.log ("window height =" + $(window).height()); 
console.log("document height =" + $(document).height()); 
*/ 

if ($(window).scrollTop() == $(document).height()-$(window).height()) 
     { 
$("#onsuccess").append("<p>i was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page end i was called because you are about to reach the page end</p>"); 
    } 

});  
}); 
</script> 

Здесь я пытаюсь динамически добавлять страницу через случайный текст .... только изучение функциональности Ajax..i проверял на мозилле, и это сработало ... но не на хроме. любые идеи .. спасибо

в хром, я могу видеть счетчик, содержимое txt-файла не загружается ... в то время как в firefox .. содержимое файла txt загружается и функция прокрутки также работает .. . ((нет вопроса о прокрутке в хроме, поскольку документ пуст, и я не могу его прокрутить вниз)), пожалуйста, скажите мне, какие дополнительные входы мне следует дать. .. ошибка в firebug -

+0

Я предполагаю, в хроме журналы консоли не стрелять ... Что произойдет, если изменить его на кнопку ввода типа вместо представить так в event.prevent диеты по умолчанию огонь. Любопытно, если преференция по умолчанию останавливает обещанное событие от обстрела. Кроме того, при отладке вы можете увидеть, происходит ли вызов Ajax. – sasonic

ответ

0

Попробуйте поместить ваш подчинитель $("#foo").submit(function(event){...}); внутри вас document.ready() обработчик.

Подобно

$(document).ready(function() { 

    $("#foo").submit(function (event) { 

     $("#onsuccess").html('<img src="a.gif"/>'); 
     var $form = $(this); 

     var serializedData = $form.serialize(); 

     request = $.ajax({ 
      url: "a.txt", 
      type: "post", 
      timeout: 30000, 
      dataType: "text", 
      data: serializedData, 

     }); 

     // callback handler that will be called on success 
     request.done(function (response, textStatus, jqXHR) { 
      // log a message to the console 
      console.log("Hooray, it worked!"); 
      $("#onsuccess").html(response); 

     }); 

     // callback handler that will be called on failure 
     request.fail(function (jqXHR, textStatus, errorThrown) { 
      // log the error to the console 
      console.error(
       "The following error occured: " + textStatus, errorThrown); 
     }); 

     // callback handler that will be called regardless 
     // if the request failed or succeeded 
     request.always(function() { 
      // reenable the inputs 
      // $inputs.prop("disabled", false); 
     }); 

     // prevent default posting of form 
     event.preventDefault(); 


    }); 

    $(window).scroll(function() { 

     /*console.log("you are scrolling the page"); 
console.log("window scroll top ="+ $(window).scrollTop()); 
console.log ("window height =" + $(window).height()); 
console.log("document height =" + $(document).height()); 
*/ 
     if ($(window).scrollTop() == $(document).height() - $(window).height()) { 
      $("#onsuccess").append("<p>i was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page endi was called because you are about to reach the page end i was called because you are about to reach the page end</p>"); 
     } 

    }); 
}); 
Смежные вопросы