2016-12-27 22 views
7

2 sayfam var ve ilk sayfada ajax ile başka bir sayfa (ikinci sayfa) aradım. İkinci sayfada ajax ile gönderilen ve ardından sayfayı bir kez yeniden yükleyen bir form var. Ancak ikinci sayfa yenilendiğinde, ilk sayfam da yenilenir. Ama ben istemiyorum. Sadece iç sayfamı yeniden yüklemek istiyorum. Yalnızca dahili sayfayı yeniden yüklemek için bir yol var mı?Başka bir sayfadaki sayfa nasıl yenilenir?

$(document).ready(function() { 
 
    $(document).on('click', '.MyForm button[type=submit]', function(e) { 
 
    e.preventDefault() // To make sure the form is not submitted 
 
    var $frm = $(this).closest('.MyForm'); 
 
    console.log($frm.serialize()); 
 
    $.ajax(
 
     $frm.attr('action'), 
 
     { 
 
      method: $frm.attr('method'), 
 
      data: $frm.serialize(), 
 
      success: function(data) { $(".error").html(data), window.location.reload();} 
 
    
 
     } 
 
    ); 
 
    }); 
 
});
.error{width:200px; height:50px;border:1px solid blue;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script> 
 
    <form class="MyForm" method="post"> 
 
    <input type="text" placeholder="name" value="Aynaz" name="a1" /> 
 
    <select name="Avg"> 
 
     <option value="1">1</option> 
 
     <option value="2">2</option> 
 
    </select> 
 
    <button type="submit">Submit</button> 
 
    <div class="error">Show form success here after page reload</div> 
 
    </form>

+0

İç sayfa yüklenmesi için load() işlevi aynı kullanılsın mı? Bunu 'ana sayfanıza nasıl yüklüyorsunuz? Iframe? – anu

+0

'u açıklığa kavuşturun, tüm belgeyi bir kod parçası olarak gösterebilir misiniz, bir jsfiddle? –

+0

@anu, div üzerinde basit onclick olayı ile yükleme: $ ('. Div'). Load ('innerpage.htm'); –

cevap

0

Kaldır yöntemi formdan = "post": İşte benim iç sayfa kodları olduğunu.

0

Bu bölümü sadece yeniden yükleyebilirsiniz sonra iç sayfa yapabilir ve.

4

window.location.reload() daima tüm sayfayı yeniden yükleyecektir. Eğer ilk etapta bunu kullanıyor olarak iç sayfa

$.ajax(
      $frm.attr('action'), 
      { 
       method: $frm.attr('method'), 
       data: $frm.serialize(), 
       success: function(data) { 
        $(".error").html(data); 
        $('.div').html('').load('innerpage.htm');// reload the div 
       } 

      } 
     ); 
+0

nedir (.div)? ? –

+0

Sorunun altındaki yorumlarda bahsettiniz. İç sayfayı nasıl yüklediğinizi belirttiniz. Bu dava değil mi? – anu

+0

hayır, bu kod ikinci sayfayı ana sayfaya yüklemek içindi. Sorum, ikinci sayfayı ayrı olarak nasıl yeniden yüklenecekti. ilk sayfayı yeniden yüklemeden –

İlgili konular