Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Klik link berikut untuk informasi cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Ketika kode agen berubah, autofill/change nama,alamat dll

Tanya lagi om, bikin new question biar gak panjang,

Setelah data kode agennya tampil biar autofill nama n alamatnya (autochange), gimana?
kemarin buat yang pake enter, kalo yang pake change bingung.
<!DOCTYPE html>
<html>
<head>
<title>BELAJAR AJAX</title>
</head>
<body>
<form action="#" method="post">
<input type="text" name="kodeagen" id="kodeagen" placeholder="Kode Agen" disabled>
<input type="text" name="namaagen" id="namaagen" placeholder="Nama">
<input type="text" name="alamatrumahagen" id="alamatrumahagen" placeholder="Alamat">
<input type="text" name="kelurahanagen" id="kelurahanagen" placeholder="Rumah">
<input type="submit" value="simpan">
</form>

<script src="assets/js/jquery-2.1.4.min.js"></script>
<script>

//prev next keyboard
<?

$con=mysqli_connect("localhost","root","password","db_sisko");
$sql = "SELECT kode_agen FROM tb_agen_detail LIMIT 10";
$result = mysqli_query($con,$sql);
//$result = $mysqli->query($sql);

$json = [];
while($row = $result->fetch_assoc()){
$json[] = $row['kode_agen'];
}


?>

var idx=0;
var arr = <? echo json_encode($json); ?>;

$(document).keydown(function(event) {
switch(event.keyCode) {
default:return true;break;
case 37:
case 38:idx-=idx>1?1:0;idx=idx<1?1:idx;break; // panah atas
case 39: // panah kanan
case 40:idx+=idx<arr.length-1?1:0;break; // panah bawah
case 27:idx=0;break;

//default:alert("keyCode tombol yg ditekan : "+event.keyCode);break;
}

$("#kodeagen").val(arr[idx]);
});


//change function
$(document).ready(function(){
$('#kodeagen').change(function(){
var kodeagentampil = $('#kodeagen').val();
$.ajax({
method: "POST",
dataType: 'json',
url: "ajaxrespon.php",
data: { kode_agen: kodeagentampil}
})
.done(function( hasilajax ) {
$('#namaagen').val(hasilajax['nama_agen']);
$('#alamatrumahagen').val(hasilajax['alamat_rumah']);
$('#kelurahanagen').val(hasilajax['kelurahan_agen']);
});
})
});
</script>


</body>
</html>
Tagged:

Comments

  • edited April 11
    sori, ndak banyak waktu, pahami sendiri,

    semua sudah gw tulis di tret satunya,
    baca baik-baik, bandingkan

    semua pake onkeyup, pake inkeys, ajax di dalam case 13
    sudah gw tulis semua di tret satunya
    <!DOCTYPE html>
    <html>
    <head>
    <title>BELAJAR AJAX</title>
    </head>
    <body>
    <form action="#" method="post">
    <input type="text" name="kodeagen" id="kodeagen" placeholder="Kode Agen" disabled>
    <input type="text" name="namaagen" id="namaagen" placeholder="Nama">
    <input type="text" name="alamatrumahagen" id="alamatrumahagen" placeholder="Alamat">
    <input type="text" name="kelurahanagen" id="kelurahanagen" placeholder="Rumah">
    <input type="submit" value="simpan">
    </form>

    <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
    <script>
    var idx=0;
    var arr = ['ali','budi','amir','toni','wati','iwan','mimi','jono','ida'];
    var inkeys = [13,27,37,38,39,40];
    var focused = 0;

    $(document).keyup(function(event) {
    focused = $(':focus');
    if(typeof focused.attr("id") === "undefined") {
    switch(event.keyCode) {
    default:return true;break;
    case 37:
    case 38:idx-=idx>1?1:0;idx=idx<1?1:idx;break;
    case 39:
    case 40:idx+=idx<arr.length-1?1:0;break;
    case 27:idx=0;break;
    case 13:{
    var kodeagentampil = $('#kodeagen').val();
    $.ajax({
    method: "POST",
    dataType: 'json',
    url: "ajaxrespon.php",
    data: { kode_agen: kodeagentampil}
    })
    .done(function( hasilajax ) {
    $('#namaagen').val(hasilajax['nama_agen']);
    $('#alamatrumahagen').val(hasilajax['alamat_rumah']);
    $('#kelurahanagen').val(hasilajax['kelurahan_agen']);
    });
    }break;
    }

    if(inkeys.indexOf(event.keyCode)>=0) {
    $("#kodeagen").val(arr[idx]);
    }
    }
    });

    </script>
    </body>
    </html>

    di situ gw cuma nambah :

    focused = $(':focus');
    if(typeof focused.attr("id") === "undefined") {...}

    tujuannya ...

    field yg di-disable itu ndak bisa di focus
    sementara keyup() dilekatkan di document
    ndak bisa dilekatkan di field yg di-disable, ndak bakal jalan ...
    boro-boro bisa di tekan tombol kiri-kanan, di focus aja kagak bisa

    document itu default-nya ndak punya ID, atau ID nya undefined
    tapi document itu mencakup seluruh halaman

    akibatnya, event apa pun yg dilekatkan di document bakal berdampak ke semuanya
    termasuk pada saat kursor ada di field yg bisa diisi
    saat kursor di geser ke kiri-kanan, langsung berdampak ke "#kodeagen"

    itu di blok pake IF
    saat ID nya undefined, artinya kursor sedang focus ke document
    jadi update "#kodeagen" bisa dijalankan



    kalo ada masalah dgn submit form yg bentrok dgn event penekanan enter (13)
    coba elo pake preventDefault()



    sudah yah ...
    pahami sendiri

    ndak bisa jelasin lain lagi
  • edited April 23
    Om lanjut lagi boleh gak, wkwkwk.. script di atas udh jalan, udh saya modif sedikit juga.. makasih bgt.. penjelasannya juga udh jelas bgt di atas, Maaf bgt bru respon..
    <!DOCTYPE html>
    <html>
    <head>
    <title>BELAJAR AJAX</title>
    </head>
    <body>
    <form action="#" onSubmit="return false;" method="post">
    <input type="text" name="kodeagen2" id="kodeagen2" placeholder="Kode Agen 2">
    <input type="text" name="kodeagen" id="kodeagen" placeholder="Kode Agen" readonly>
    <input type="text" name="namaagen" id="namaagen" placeholder="Nama">
    <input type="text" name="alamatrumahagen" id="alamatrumahagen" placeholder="Alamat">
    <input type="text" name="kelurahanagen" id="kelurahanagen" placeholder="Rumah">
    <input type="submit" value="simpan">
    </form>

    <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
    <script>


    <?

    $db = new mysqli('localhost','root','password','db_belajarajax');
    $result = $db->query("select id_agen_detail,id_agen,kode_agen from tb_agen_detail");

    //$result = $mysqli->query($sql);

    $json = [];
    while($row = $result->fetch_assoc()){
    $json[] = $row['kode_agen'];
    }
    ?>
    var idx=0;
    var arr = <? echo json_encode($json); ?>;
    var inkeys = [13,27,37,38,39,40];
    var focused = 0;

    $(document).keyup(function(event) {
    focused = $(':focus');
    if(typeof focused.attr("id") === "undefined") {
    switch(event.keyCode) {
    default:return true;break;
    case 37:
    case 38:idx-=idx>1?1:0;idx=idx<1?1:idx;break;
    case 39:
    case 40:idx+=idx<arr.length-1?1:0;break;
    case 27:idx=0;break;
    case 13:{
    var kodeagentampil = $('#kodeagen').val();
    $.ajax({
    method: "POST",
    dataType: 'json',
    url: "ajaxrespon.php",
    data: { kode_agen: kodeagentampil}
    })
    .done(function( hasilajax ) {
    $('#namaagen').val(hasilajax['nama_agen']);
    $('#alamatrumahagen').val(hasilajax['alamat_rumah']);
    $('#kelurahanagen').val(hasilajax['kelurahan_agen']);
    });
    }break;
    }

    if(inkeys.indexOf(event.keyCode)>=0) {
    $("#kodeagen").val(arr[idx]);
    }
    }
    });

    </script>
    </body>
    </html>
    Naah skrg mau saya modif lagi, bisa gak, query $result itu ditambah kondisi where kode agen = kode agen 2,

    jadi misal isi datanya itu

    kode agen 2 , kode agen
    101 , 102
    101 , 103
    101 , 104
    105 , 106
    105 , 107

    Naah berarti kalo kode agen 2 101 berarti ada 3 data 102,103,104 yang nanti mengisi variabel arr...

    Mohon pencerahan lagi, maapin klo banyak tanya..
  • itu kan tinggal urusan query ini doang ...

    select id_agen_detail,id_agen,kode_agen from tb_agen_detail
  • iya, tapi kan gak bisa langsung di load kan om, misal kode agen 2 isinya 101 trs query resultnya kan harus pake where id_agen_detail=id_agen, kan hrs pake ajaxnya kan buat request..

    udh saya coba lgsg bgtu gakbisa soalnya, dia get data 101 nya itu bagaimana.
  • edited April 24
    ini kan ?
    ...
    ...
    <script>


    <?

    $db = new mysqli('localhost','root','password','db_belajarajax');
    $result = $db->query("select id_agen_detail,id_agen,kode_agen from tb_agen_detail where ...");

    //$result = $mysqli->query($sql);

    $json = [];
    while($row = $result->fetch_assoc()){
    $json[] = $row['kode_agen'];
    }
    ?>
    var idx=0;
    var arr = <? echo json_encode($json); ?>;
    ...
    ...
    ada masalah apa kalo dikasih "where" di situ ?

    ada where atau tanpa where juga hasilnya banyak record.
    elo cetaknya juga pake :
    var arr = <? echo json_encode($json); ?>;
    pasti bisa, sama saja



    atau maksud elo lain ?
    elo ngomongin "where" di
    url: "ajaxrespon.php", ?
  • edited April 24
    iyaa om yang itu,

    mksudnya ngambil value wherenya dari input, bukan di set manual.. kaya gini,,
    <input type="text" name="kodeagen2" id="kodeagen2" placeholder="Kode Agen 2" readonly>

    $result = $db->query("select id_agen_detail,id_agen,kode_agen from tb_agen_detail where id_agen='$_POST[kodeagen2]'");
    naah wherenya itu ngambil value yang ada di input kodeagen2,
  • "itu" yg mana ? :D

    gw nanya 2 ...

    1. query di koding elo
    2. atau query di script ajaxrespon.php

    yg mana ?
  • "itu" query yang di coding om, bukan di ajaxrespon.php..

    kalo yang di ajaxrespon.php kan buat manggil detail datanya, nama alamat dll.

    naah query yang dicoding itu mau di where berdasarkan kode agen 2, jadi misal di set 101 deh (kaya contoh pertama), naah berarti

    var arr = <? echo json_encode($json); ?>;

    ini isinya bakal 102,103,104,

    naah saya bingung narik datanya pake $_POST nya itu, kan gak ada request ajax gtu atau apa, saya juga blm paham jauh.. hehehe
  • misal ...

    $_POST['kodeagen2'] = 101

    di kodingnya ...

    $ka2 = isset($_POST['kodeagen2'])?trim($_POST['kodeagen2']):'';
    $where = ctype_digit($ka2)?' WHERE kode_agen='.$ka2:'';

    ...
    ...

    $result = $db->query("select id_agen_detail,id_agen,kode_agen from tb_agen_detail".$where);

    beres to ?
    emang mau gimana lagi ...
Sign In or Register to comment.