Loading ...
Sorry, an error occurred while loading the content.

158Re: [id-js] Tanya : submit form tanpa page refresh

Expand Messages
  • G.
    Sep 2, 2009
    • 0 Attachment
      Om fer,

      Udah saya coba script-nya, cuman masih tetep belum bisa.
      Mungkin option 'url' di ajax() memang ngga bisa mengakses
      file yg server, jika kita akses dari client.

      Jadi untuk sementara ini, untuk ngakalin nya saya pake
      <iframe>. Jadi setelah data terkirim, menu/navigasi di client
      masih bisa diakses, hehehe..

      Makasih atas bantuannya

      Regards,
      G. Andika



      2009/9/1 herdian ferdianto <herdian@...>
       

      Hei mas,

      kayanya itu perlu di encode datanya, sapa tau mengandung sepasi atau karakter lain
      Modif aja kaya gini

      $.ajax({
        type:'POST',
        url:'url anda',
        data:{
          name:$("input#name").val(),
          email:$("input#email").val(),
          msg:$("input#msg").val()
        },
        success:function(data, textStatus) {
          //fungsi sukses
        },
        error:function(xhr, textStatus, error) {
          //log aja errornya untuk debug
          if (window.console) {
            console.log(['AjaxError', textStatus, error]);
          } else {
            alert( 'AjaxError: ' + textStatus );
          }
        }
      });





      2009/9/1 G. <gasinbox@...>
       

      Om Herdian,

      1. dataString-nya seperti berikut:

      var name = $("input#name").val();
      var email = $("input#email").val();
      var msg = $("input#msg").val();
      var dataString = 'name='+ name + '&email=' + email + '&msg=' + msg;
      //alert(dataString); return false;

      Untuk data inputan, menurut saya sudah tidak ada masalah, terbukti ketika
      di 'alert', data yg tampil sesuai.

      2. Jadi kalo formmail.php disimpen di <form action="http://localhost/form/bin/formmail.php>
         itu gk ada masalah, hanya saja browser jadi teralihkan ke formmail.php tersebut.
         Pas saya pindahin ke fungsi ajax(), ketika di klik submit, itu ngga ada respon selain
         form yang me-reset (semua field menjadi blank lagi). Tidak ada pesan error :-(

      Apa kira2 ada yg kurang dari fungsi ajax() itu? sehingga tidak perlu refresh, tapi data masuk.
      hehehe...

      Makasih om Herdian untuk responnya, panggil Andika aja, blum bapak2 soalnya,
      hahahaha....

      Wassalam,
      Andika



      2009/9/1 herdian ferdianto <herdian@...>

       

      1. dataStringnya bagaimana pak?
      2. coba erorrnya dicapture, siapa tau 404 atau yg lain ;)

      2009/9/1 G. <gasinbox@...>

       

      Halo para master,

      Salam kenal semuanya para JS-ers.

      Saya newbie yg baru belajar, mohon bantuan dan pencerahannya, hehehe...

      Ceritanya saya punya sebuah form.html di drive C:/test, sehingga file
      tersebut dapat diakses secara lengkap di C:\test\form.html.

      form.html ini memiliki baris kode layaknya sebuah form "contact us",
      berikut ini adalah salah satu baris kode nya:

      <form method="POST" action="http://localhost/form/bin/formmail.php" name="contact">

      Setelah di submit, form.html akan mengirim value field2 yg diisi dengan
      mem-passingnya ke formmail.php dan kemudian mengirimkan ke email saya.
      Sampai sini, semua lancar (data masuk ke email di Gmail).
      (formmail saya download di www.scriptarchive.com/formmail.html)

      Masalahnya, setelah itu halaman form.html di browser tergantikan oleh
      formmail.php yang berisi keterangan konfirmasi bahwa email telah terkirim.
      Padahal saya sangat membutuhkan browser tetap ada di C:\test\form.html,
      karena ada menu2 dan navigasi pada halaman form.html tersebut.

      Setelah saya browsing, saya kemudian menemukan ajax() dari jquery yang
      katanya data bisa terkirim tanpa page-refresh, kemudian saya tambahkan
      kode sebagai berikut:

      $.ajax({
            //deklarasi dan assign value untuk variable dataString

            type: "POST",
            url: "http://localhost/form/bin/formmail.php",
            data: dataString,
            success: function() {
              $('#contact_div').html("<div id='pesan'></div>");
              $('#message').html("<h2>Pesan telah terkirim</h2>")
              .append("<p>Terima kasih.</p>")
              .hide()
              .fadeIn(1500, function() {
                $('#message').append("<img id='checkmark' src='check.png' />");
              });
       });


      Tapi sampai sekarang ini, masih belum berhasil juga, malahan pesan
      konfirmasi di option success juga tidak muncul. Saya juga udah coba
      pake PHPMailer.php tapi tetep masih belum berhasil kalo pake ajax(),
      sedangkan kalo di simpen di action form semua lancar.

      Kira-kira dimana kekurangannya agar saya bisa mengirim data ke email
      melalui sebuah form client tanpa page-refresh (atau dialihkan ke page lain
      yg masih di lingkungan client).

      Mohon maaf kalo kepanjangan, terima kasih sebelumnya.


      Wassalam,
      Andika








    • Show all 11 messages in this topic