Tentu kita tidak asing dengan Form macam ini:
Itu adalah form pengiriman email pada GMail. Pada form tersebut, memungkinkan kita menambahkan input type file untuk penambahan attachment file, dan input type text pada kolom CC dan BCC. Semua itu hanya kita lakukan dalam satu kali klik tanpa mereload halaman. Bagaimana cara membuatnya?
Proses pembuatannnya sangatlah mudah. Dengan bantuan sebuah JQuery Library, kita dapat membuat satu script JQuery untuk melakukannya. Andaikan kita memiliki sebuah script PHP / HTML berikut:
Sedangkan kita ingin, kolom input type tersebut dapat ditambah setiap saat hingga berapapun tanpa mereload halaman. Apa yang perlu kita tambah?
Langkah pertama kita tambahkan saja sebuah library JQuery, dan sebuah script, serta pemicunya
Tentunya juga pada struktur direktori kita letakkan sebuah file jquery seperti yang disebut pada halaman tersebut.
Selanjutnya di bawah baris yang memuat JQuery tersebut, kita letakkan sebuah script, bisa dituliskan langsung atau bisa kita simpan dalam sebuah script terpisah. Pada kasus contoh ini saya buat sebuah script dalam bentuk file berbeda. Isi script tersebut adalah sebuah fungsi javascript bernama tambah(), yang akan dipicu prosesnya oleh baris HTML
Tambah form
Script tersebut berisi:
function tambah(){
$(".table-common").append(' ').children(':last');
}
Ketika text TAMBAH FORM diklik, maka fungsi tambah akan berproses. Proses tersebut akan berlaku dengan menambahkan (append) dalam table class “tambah-common”, berisi susunan tabel yang persis dengan baris HTML dalam tabel. Proses penambahan akan dilakukan pada bagian akhir dari tabel dengan diarahkan oleh fungsi children(‘:last’).
Sampai disini proses HTML telah selesai. Lantas bagaimana dengan input name? Apakah NAME nya akan sama semua? Sementara script target PHP akan butuh masukan yang berbeda?
Ya, selanjutnya kita akan buat bahwa semua input type tersebut SAMA NAMAnya namun kita jadikan array dengan cara menambahkan tanda [] pada semua name. Script HTML menjadi seperti ini:
Begitu juga script.js menjadi
function tambah(){
$(".table-common").append(' ').children(':last');
}
Lantas script target seperti apa?
Target.php kira-kira akan seperti ini:
";
$i++;
}
}
?>
Karena masukan item[] adalah array, maka pada target, $_POST[‘item’] adalah array juga. Tentu memiliki elemen array $_POST[‘item’][0] . . . . $_POST[‘n’]. Nah tinggal memprosesnya kan? Entah dalam database atau yang lain. ๐
Semoga berguna.
ternyata begitu ya. makasih, om.
*tetep aja nggak bisa coding sendiri
santai kang, lha wong saya juga nek koding tetep pake literatur.. hehehee.. apa kabar e kang? Cari garapan yuk :))
mas kalo mau hapus yang sudah di append itu scriptnya gmn ya???
Bisa dengan .remove ๐
gmn cara .remove nya?
maaf lama tidak buka halaman admin :).. nanti akan saya posting, tapi sementara bisa dicari di
http://api.jquery.com/remove/
๐
Mas, fungsi children(โ:lastโ) itu letaknya dmn?
Selamat Malam Pak
Bagus tutorialnya, namun bagaimana insert ke databasenya dan jika ditampilkan dan edit?
Maaf newie pak
Nanya Pak
kalau sudah begitu bagaimana insert, update, dan deletenya ke database.
Terimakasih
trus di databasenya gimana ? itu kan nambah sendiri
makasih mas tutorialnya sangat mudah dipahami.
makasih mas tutorialnya mudah dipahami.