Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- 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
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

validasi checkbox

Saya mau buat script compare seperti di bhinneka.com, jadi di halaman produk ditampilkan beberapa produk beserta checkboxnya, nah utk compare ini mesti check minimal 2 produk atau maksimal 4 produk, jika tidak akan menampilkan pesan error, saya dapet script ini dari mas goku, tapi masih gak jalan, di form nya saya buat checkbox ,namenya yaitu namapil dan formnya dgn nama com, apalagi yang kurang ya, ada yang bisa bantu saya gak ya, saya minta petunjuknya, please ....
berikut scriptnya

Comments

  • Ya lihat saja source javascript bhineeka.com

    Kan tidak diproteksi
  • gak bisa mas goku,...script js nya ditaro di folder terpisah,...jadinya gimana ya,...?
  • Ya bisa aja ...

    Browse aja langsung

    www.domain.com/dir_js/script.js

    Lihat di tag <script src="..."
  • saya sudah cari di sourcenya cuma ada 1 file javascript yaitu menu_fire_cb.js dan di file itu tidak ada fungsi yang dimaksud,... ada solusi lain gak mas....?
  • Coba kamu lihat event checkboxnya apa? Biasanya onClick. Nah cari di skrip tersebut.
  • mesti ngintip situs bhineka-nya dr halaman utamanya :D
    soalnya anda bilang cuma nemu : src="../JS/menu_fire_cb.js buat source js-nya


    lha saya nemu dua :
    src="../JS/menu_fire_cb.js"
    src="../JS/pro_compare.js"
    ...belum liat2 yg bawahnya lagi...

    itu pake frame mas, onclick yg dicari ya pasti gak ada,
    liat source file dari frame yg di tengah dong,
    coba pake firefox, ada pilihan kalo mau ngintip isi frame,
    atau tembak lewat address bar file yg dimasukan ke dalam frame tsb
  • even onClicknya yang dimaksud tidak ada mas,...klo dari alur programnya itu , document.com.namapil.value sama document.com.pil.value bedanya apa mas ? namapil itu kan name dari tiap checkbox ya mas ? Sedangkan
    document.forms[1].elements.checked, mengacu pada tiap elemen form yang diCheck ya ? kenapa harus forms[1] bukannya form saja ? sory klo banyak nanya mas , soalnya saya penasaran, waktu itu scriptnya saya coba bisa , eh sekarang gak bisa
  • thanks banget buat Mie Lontong, atas petunjunya ya view source lewat selection, saya gak tau klo firefox bisa gitu, saya udah ketemu scriptnya tapi pas saya coba koq gak jalan ya....? berikut ini adalah script saya,...mohon petunjuknya
    =================================
    <html>
    <head>
    <title>Product Compare</title>
    <script language="javascript1.2" src="send_and_counter_bhinneka.js" type="text/javascript" runat="server"></script>
    </head>
    <body>

    <table width="213" border="0" cellpadding="0" cellspacing="0">
    <!--DWLayoutTable-->
    <input name="pil" value="0" type="hidden">
    <input name="namapil" value="" type="hidden">
    <form name="com" action="index.htm" method="post"></form>
    <a href="javascript:send(5,1)" title="Compare Menu">
    <img src="compare_02.gif" border="0" height="17" width="70"></a>
    <td width="41" height="30" align="center" valign="middle">
    <input name="1" onclick="counter(this)" value="ON" type="checkbox"></td>
    <td width="172" align="left" valign="middle">Toshiba</td>
    </tr>
    <tr>
    <td height="30" align="center" valign="middle">
    <input name="2" onclick="counter(this)" value="ON" type="checkbox"></td>
    <td align="left" valign="middle">Lenovo</td>
    </tr>
    <tr>
    <td height="30" align="center" valign="middle">
    <input name="3" onclick="counter(this)" value="ON" type="checkbox"></td>
    <td align="left" valign="middle">Acer</td>
    </tr>
    <tr>
    <td height="30" align="center" valign="middle">
    <input name="4" onclick="counter(this)" value="ON" type="checkbox"></td>
    <td align="left" valign="middle">HP</td>
    </tr>
    <tr>
    <td height="30" align="center" valign="middle">
    <input name="5" onclick="counter(this)" value="ON" type="checkbox"></td>
    <td align="left" valign="middle">N E C</td>
    </tr>
    <tr>
    <td height="32" colspan="2"></td>
    </tr>

    <tr>
    <tr>
    <td height="0"></td>
    <td></td>
    </tr>
    </table>
    </body>
    </html>
  • koq belum ada jawaban ya ?
  • Originally posted by damianus_noris
    even onClicknya yang dimaksud tidak ada mas,...klo dari alur programnya itu , document.com.namapil.value sama document.com.pil.value bedanya apa mas ? namapil itu kan name dari tiap checkbox ya mas ? Sedangkan
    document.forms[1].elements[ i ].checked, mengacu pada tiap elemen form yang diCheck ya ? kenapa harus forms[1] bukannya form saja ? sory klo banyak nanya mas , soalnya saya penasaran, waktu itu scriptnya saya coba bisa , eh sekarang gak bisa
    kalo pake kaya yg diatas, form-nya ada berapa?
    kalo cuma satu, pakenya .forms[0] bukan .forms[1]

    lalu action ke action="index.htm",
    itu pure halaman html?
    value yg di kirim lewat form, biasanya di-handle lewat server side script, misal : php,
    gak bisa kalo pure-HTML
  • Originally posted by damianus_noris
    ...
    ...
    <input name="pil" value="0" type="hidden">
    <input name="namapil" value="" type="hidden">
    <form name="com" action="index.htm" method="post"></form>
    ...
    ...
    <input name="1" onclick="counter(this)" value="ON" type="checkbox">
    ...
    <input name="2" onclick="counter(this)" value="ON" type="checkbox">
    ...
    <input name="3" onclick="counter(this)" value="ON" type="checkbox">
    ...
    <input name="4" onclick="counter(this)" value="ON" type="checkbox">
    ...
    <input name="5" onclick="counter(this)" value="ON" type="checkbox">
    lha kok semua tag <input>-nya di luar <form> ?
  • saya uda bisa mas, script saya begini nih,....
    =================================
    <html>
    <head>
    <title>Product Compare</title>
    </head>
    <script language="JavaScript" type="text/JavaScript">
    var nil=0;

    function counter(frm)
    {

    if((document.com.pil.value!=0)&&(nil==0))
    {
    nil=parseInt(document.com.namapil.value);
    document.com.namapil.value=0;
    }

    if(frm.checked)
    {
    if(nil>3)
    {
    alert("Compare maximum 4 products !");
    frm.checked=false;
    }
    else
    {
    nil=nil+1;
    };
    }
    else
    {
    nil=nil-1;
    }
    }

    function send(nilai,pil)
    {

    var i,x,temp;
    x=0;
    if(pil==2)document.com.action="proses_compare.php";
    document.com.namapil.value="";
    for(i=0; i<=nilai+1 ; i++)
    {
    if(document.forms[0].elements.checked==true)
    {
    temp=document.com.namapil.value;
    if(temp=="")
    { document.com.namapil.value=document.com.elements.name }
    else
    { document.com.namapil.value=temp+"^"+document.com.elements.name };
    x++;
    }
    }
    if(pil == 1)
    {
    if(x>1)
    {
    document.com.pil.value=x;document.com.submit();
    }
    else
    {
    //alert(nilai +'~'+ pil);
    alert("Compare minimum 2 products test");
    }
    }
    else
    {
    document.com.pil.value=x;document.com.submit();
    }
    }
    </script>

    <body>

    <table width="213" border="0" cellpadding="0" cellspacing="0">
    <!--DWLayoutTable-->

    <form name="com" action="proses_compare.php" method="post">
    <a href="javascript:send(5,1)" title="Compare Menu">
    <img src="compare_02.gif" border="0" height="17" width="70"></a>
    <td width="41" height="30" align="center" valign="middle">
    <input name="1" onclick="counter(this)" value="ON" type="checkbox"></td>
    <td width="172" align="left" valign="middle">Toshiba</td>
    </tr>
    <tr>
    <td height="30" align="center" valign="middle">
    <input name="2" onclick="counter(this)" value="ON" type="checkbox"></td>
    <td align="left" valign="middle">Lenovo</td>
    </tr>
    <tr>
    <td height="30" align="center" valign="middle">
    <input name="3" onclick="counter(this)" value="ON" type="checkbox"></td>
    <td align="left" valign="middle">Acer</td>
    </tr>
    <tr>
    <td height="30" align="center" valign="middle">
    <input name="4" onclick="counter(this)" value="ON" type="checkbox"></td>
    <td align="left" valign="middle">HP</td>
    </tr>
    <tr>
    <td height="30" align="center" valign="middle">
    <input name="5" onclick="counter(this)" value="ON" type="checkbox"></td>
    <td align="left" valign="middle">N E C</td>
    </tr>
    <tr>
    <td height="32" colspan="2"></td>
    </tr>

    <tr>
    <tr>
    <td height="0"></td>
    <td></td>
    </tr>
    <input name="pil" value="0" type="hidden">
    <input name="namapil" value="" type="hidden">
    </form>
    </table>
    </body>
    </html>
    ==================================
    tapi counternya cuma detect sekali doang,...klo udah submit terus kita click back, lalu cekboxnya kita cek sebanyak 5 buah, maka validasinya gak jalan (maksimum cek 4 buah saja, lalu display alert), kenapa ya
    kira2,....tau gak mas ? help me please...
  • coba ini

    <html>
    <head>
    <title>Product Compare</title>
    </head>
    <script language="JavaScript" type="text/JavaScript">
    function cek(){
    var counter=0;
    var elemen=document.com.elements;
    var jumlah_semua=elemen.length
    for(var i=0;i<jumlah_semua;i++){
    if(elemen.name=='cekbox[]'){
    if(elemen.checked==true) counter++;
    }
    }

    //cek counter
    if(counter>=2 && counter<=5)
    return true;
    else
    alert ('Minimal 2 dan maksimal 5');
    return false
    }
    </script>

    <body>
    <?php
    $data=array('Goku','Gohan','Goten','Bejita','Trunks','Pikolo');

    if(isset($_POST['submit'])){
    $ids=$_POST['cekbox'];
    $id=implode(',',$ids);
    $sql="select * from product where id in($id)";
    echo $sql;
    }
    else{

    ?>
    <form name="com" action="<?php echo $_SERVER['PHP_SELF'] ;?>" method="post" onSubmit="return cek()">
    <?php
    $i=0;
    foreach ($data as $pilihan){
    $i++;
    echo '<input type="checkbox" name="cekbox[]" value="'.$pilihan.'">'.$pilihan.'<br>';
    }
    ?>
    <input type="submit" name="submit" value="Compare">
    </form>
    <?php
    }
    ?>
    </body>
    </html>
  • yang ini koq simpel banget mas goku,...thanks banget mas,......jadi gak enak,...tinggal terima jadi doang,..... ;)
  • <html>
    <head>
    <script language="javascript">
    var elemen = document.formTestimonial.elements;
    var counter=0;
    var jumlah_semua=elemen.length;
    for (var i=0;i<jumlah_semua;i++){
    if (elemen.name=="pktFavorit[]"){
    if (elemen.checked==true)
    counter++;
    }
    }
    //cek counter
    if (counter<2)alert ("Paket yang dipilih minimal dua");
    else return true;
    </script>
    </head>

    <body>
    form name="formTestimonial" method="post" action="">
    <table border="0" align="center">
    <tr>
    <td><font color="pink" face="century gothic">Paket Favorit</font></td>
    <td><input type="checkbox" name="pktFavorit" value="Paket A">Paket A<br>
    <input type="checkbox" name="pktFavorit" value="Paket B">Paket B<br>
    <input type="checkbox" name="pktFavorit" value="Paket C">Paket C<br>
    <input type="checkbox" name="pktFavorit" value="Paket D">Paket D<br></td>
    </tr>
    </body>
    </html>

    ini ngikutin logika yg uda diajarin sblmnya. yg mau saya tanyakan kenapa pd wktu checkbox yg dipilih sdh >=2, alert msh tetap ditampilkan. trims
  • name="pktFavorit[]"
  • setelah = nya dijadiin satu. knapa jadinya pas checkbox nya dipilih satu, alertnya jd ga ad? mksd saya, saya mau membuat dari 4 checkbox itu, yg mesti dipilih minimal dua.
    kl mnggunakan logika
    if (counter<2) alert ("Paket yg dipilih minimal dua")
    else return true;

    kira2 salahnya dimana y?
    bingung neh.

    thx b'4 y goku
  • onSubmit di tag form nggk ada. Functionnya juga nggk ada. Coba dicek lagi.
  • tanks mas goku aku dah coba dan berhasil.

    cuman hehe ...

    itu klo return false gimana caranya supaya otomatis ke uncheck.

    maksimal pilihan 5, dan user udah tanggung milih 6, kebetulan aku pake onClick juga mas.

    mohon pencerahanna
  • Kalau sudah enam kan muncul warning alert
  • iya mas goku, tp kan tanggung dah ke cek yang ke-6 na.

    jadi supaya yang ke 6 itu ke unchek gimana ya ?
Sign In or Register to comment.