2014-02-10 2 views
0
<script> 
//jQuery('#frmSearch').click(function() { 
jQuery(function(){ 
jQuery('#frmSearch').on('click', function(e){ 
    e.preventDefault();  
     jQuery.ajax({ 
      type: 'POST', 
      url: 'mutualfundsprices/do_price_archive.php', 
      data: jQuery('#frmSearch').serialize(), 
      success: function(data) { 
       jQuery('#DisplayResult').html(data); 
      } 
     }); 
     return false; 
    }); 
}); 
</script> 

приведенный выше мой JavaScript для отображения другой страницы PHP, но после загрузки результата результат исчезает. Что не так с моим кодом?с использованием ajax для отображения другой страницы php

+0

показать свою разметку, plz – Justinas

+0

, вы должны очистить ее в другом месте. Вы видите результат? пожалуйста, укажите полный код. –

+0

попробуйте вставить 'console.log()' внутри вашей функции успеха, чтобы узнать значение данных. Добавьте также свойство 'error' внутри метода ajax. – Frogmouth

ответ

0

Я предполагаю, что #frmSearch - это форма на вашем DOM, верно?

Мое предположение заключается в том, что форма отправляется дважды, после использования функции onclick (ajax), а затем вторая может перезагрузить страницу, чтобы ваш HTML-код, загруженный AJAX, исчез. Но я могу быть вне линии здесь.

Вы назначаете onclick, что весьма необычно для форм. Но все же, e.preventDefault и return false; в событии onclick не будет препятствовать отправке формы, если вы когда-либо нажмете кнопку отправки. Вместо этого вы можете использовать событие onsubmit формы или, что еще лучше, не иметь кнопку отправки, а скорее иметь обычную кнопку, если вы хотите обрабатывать формы, всегда используя AJAX в своей функции обратного вызова.

Смежные вопросы