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
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
<a href="javascript:send(13,1)
function send(nilai,pil) {
var i,x,temp;
x=0;
if(pil==2)document.com.action="pro_shopping_cart.aspx";
document.com.namapil.value="";
for(i=2;i<=nilai+1;i++) {
if(document.forms[1].elements[i].checked==true) {
temp=document.com.namapil.value;
if(temp=="")
{document.com.namapil.value=document.com.elements[i].name}
else
{document.com.namapil.value=temp+"^"+document.com.elements[i].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");
}
}
else
{
document.com.pil.value=x;document.com.submit();
}
}
13 itu jumlah checkboxnya dan 1 itu untuk index checkboxnya
berikut scriptnya
<a href="javascript:send(13,1)
function send(nilai,pil) {
var i,x,temp;
x=0;
if(pil==2)document.com.action="pro_shopping_cart.aspx";
document.com.namapil.value="";
for(i=2;i<=nilai+1;i++) {
if(document.forms[1].elements[i].checked==true) {
temp=document.com.namapil.value;
if(temp=="")
{document.com.namapil.value=document.com.elements[i].name}
else
{document.com.namapil.value=temp+"^"+document.com.elements[i].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");
}
}
else
{
document.com.pil.value=x;document.com.submit();
}
}
13 itu jumlah checkboxnya dan 1 itu untuk index checkboxnya
Tagged:
Comments
Kan tidak diproteksi
Browse aja langsung
www.domain.com/dir_js/script.js
Lihat di tag <script src="..."
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
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
=================================
<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>
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
=================================
<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...
<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>
<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
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
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
jadi supaya yang ke 6 itu ke unchek gimana ya ?