• 22-10-2012, 14:43:25
    #1
    j1.php
    <head>
    <meta charset="utf-8" />
    <link rel="stylesheet" type="text/css" href="reset.css" />
    <link rel="stylesheet" type="text/css" href="style.css" />
    <script type="text/javascript" src="jquery-1.8.2.min.js"></script>
    <script type="text/javascript">	
    
    function form_kaydet(){ 
    	
    	var sc = $('#form').serialize() ; //id si form olan form verilerini sc değişkenine atıyoruz.
    	$('#box-content').html('<div><img src="images/loading.gif" /></div>'); // İşlemler gerçekleştirilirken mesaj_div adlı etikette loading animasyonu döndürüyoruz.
    
    	$.ajax({
    		type: "POST", // kaydedilecek sayfaya form verilerinin gönderiliş metodunu yazıyoruz POST yada GET
    		url: "j2.php", // form verilerinin kaydedileceği sayfayı yazıyoruz.
    		data: sc, //form verilerinin bulunduğu sc değişkenini gönderiyoruz.
    		success: function(msg){ //form verileri gönderildiyse bu kısımda yazılacak işlemleri yazıyoruz
    			$('#box-content').html(msg); // bu satırda form_kaydet.php sayfasından dönen verileri mesaj_div id li etikete yazdırıyoruz.
    			$(':input','#form') // kötü niyetli kullanıcıların ve botların işlerini zorlaştırmak için kaydedilmiş verileri formdan temizliyoruz.
    				.not(':button')
    				.val('')
    			;
    	   }
    	});
    }	
    </script>
    </head>
    
    <div id="wrapper">
      <div class="box">
        <div class="box-header">sForm</div>
        <div class="box-content">
          <form id="form">
            <p><label>Başlık</label><input id="baslik" lass="input-full" type="text" name="form" /></p>
            <p><label>İçerik</label><textarea id="icerik" class="textarea-full" name="icerik"></textarea></p>
            <p>
              <input type="button" value="Gönder" onclick="form_kaydet();">
            </p>
          </form>
        </div>
      </div>
    </div>
    j2.php
    <?php
    
    if ($_POST["form"]) {
    
         //form verilerimizi normal "$_POST["isim"]" şeklinde alarak kaydedebiliriz.
    
        echo "Form kaydedildi."; //bu koduda eğer kayıt işlemimiz başarılı olduysa kullanıcıyı form sayfasında bilgilendirmek ekrana basıyoruz.
    
    }else{
    
         echo "Form kaydedilemedi."; //veriler gelmediyse bu mesajı basıyoruz.
    
    }
    ?>
    gondere basinca hic bisey olmuyor arkadaslar...
    kaynak : http://www.enisbrk.com/Jquery-ile-Form-Post.html
  • 22-10-2012, 15:30:28
    #2
    Şu satırda bir hata var
    $('#box-content').html(msg);
    box-content id'li hiç bir tag yok. Kodlarınızda box-content adında sadece class mevcut.

    Yani olması gereken şekli aşağıdaki gibidir;
    $('.box-content').html(msg);
  • 22-10-2012, 15:39:08
    #3
    setsql adlı üyeden alıntı: mesajı görüntüle
    Şu satırda bir hata var
    $('#box-content').html(msg);
    box-content id'li hiç bir tag yok. Kodlarınızda box-content adında sadece class mevcut.

    Yani olması gereken şekli aşağıdaki gibidir;
    $('.box-content').html(msg);
    cooook tesekkurler!
  • 22-10-2012, 16:20:20
    #4
    Aklınızda bulunsun;
    Class : .
    ID : #
    Eğer sadece etiket değiştireceksek hiçbir noktalama işareti kullanmadan aşağıdaki örnekteki gibi yapabilirsin;
    $('div').html('TEST');
    Böylece bütün div taglarını TEST ile değiştirmiş olursun.
  • 29-10-2012, 15:51:28
    #5
    ayni kodda, zaman asimi durumu yapmak istiyorum...
    form ekrana geldikten sonra, kullanici submit ettigi veri 10 saniye icinde j2.php ye tasinmassa, hata olustu. tekrar dene yapmak istiyorum.
    tekrar deneye bastiginda ise son form u tekrar post edecek...

    nasil yapabilirim ? bilgisi olan?
  • 29-10-2012, 16:06:46
    #6
    Ben görür görmez yazmıştım cevabı ama, sonra düşünerek dedim ki keşke google.com.tr sitesinde "jquery ajax (post|get) timeout" gibi bir arama yapsaydı..

    $.ajax({
        url: 'form.php',
        type: 'post',
        data: 'post=1&m=n&p=q',
        success: function(result){
            alert(result);
        },
        error: function(){
            alert('Timeout!');
        },
        timeout: 15000
    });
  • 29-10-2012, 17:24:16
    #7
    miscel adlı üyeden alıntı: mesajı görüntüle
    Ben görür görmez yazmıştım cevabı ama, sonra düşünerek dedim ki keşke google.com.tr sitesinde "jquery ajax (post|get) timeout" gibi bir arama yapsaydı..

    $.ajax({
        url: 'form.php',
        type: 'post',
        data: 'post=1&m=n&p=q',
        success: function(result){
            alert(result);
        },
        error: function(){
            alert('Timeout!');
        },
        timeout: 15000
    });
    acemi olmama verin tam olarak nereye yazacagim ustteki formumda ?