Category Archives: JavaScript

Membuat Center Div

Ada kalanya dalam membuat sebuah halaman web kita membutuhkan bagian yang harus berada di tengah. Biasanya kita menggunakan CSS property “text-align:center”.

Disini akan diberikan 6 cara untuk membuat bagian yang harus berada di tengah itu dengan menggunakan tag div dan CSS.

Cara 1: Menggunakan class parent dan child dengan property “position: relative” dan “margin:auto”

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Centering divs</title>
    <style>
        * {
            box-sizing: border-box;
            margin: 0px;
            padding: 0px;
        }

        #parentContainer {
            width: 100%;
            height: 400px;
            background-color: #2196F3;
            position: relative;
        }

        #childContainer {
            width: 100px;
            height: 100px;
            background-color: #b5deff;
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            margin: auto;
        }
    </style>
</head>

<body>
    <div id="parentContainer">Parent Container
        <div id="childContainer">Child Container</div>
    </div>
</body>

</html>

Cara 2: Menggunakan class parent dan child dengan property “margin: auto” saja

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Centering divs</title>
    <style>
        * {
            box-sizing: border-box;
            margin: 0px;
            padding: 0px;
        }

        .center {
            margin: auto;
            padding: 10px;
            width: 300px;
            border: 3px solid #2196F3;
            background-color: #b5deff;
            text-align: center;
        }
    </style>
</head>

<body>

    <h2>Center Align Elements</h2>
    <p>To horizontally center a block element (like div), use margin: auto;</p>

    <div class="center">
        <p>Hello World!</p>
    </div>

</body>

</html>

Cara 3: Menggunakan property “margin: auto” dengan content image

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Centering divs</title>
    <style>
        * {
            box-sizing: border-box;
            margin: 0px;
            padding: 0px;
        }

        .center {
            display: block;
            margin: auto;
            content: url("./gambartengah.jpg");
        }
    </style>
</head>

<body>

    <h2>Center Align Element</h2>
    <p>To horizontally center a block element (like div), use margin: auto;</p>

    <div class="center"></div>
</body>

</html>

Cara 4: Menggunakan property “position: absolute” dan “transform: translate(-50%, -50%)”

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Centering divs</title>
    <style>
        * {
            box-sizing: border-box;
            margin: 0px;
            padding: 0px;
        }

        .center {
            position: absolute;
            transform: translate(-50%, -50%);
            padding: 10px;
            border: 3px solid green;
            top: 50%;
            left: 50%;
        }
    </style>
</head>

<body>
   <h2>Center with position and transform</h2>

    <div class="center">
        <p>vertically and horizontally centered.</p>
    </div>

</body>

</html>

Cara 5: Menggunakan CSS Flexbox dengan property “display: flex” dan “justify-content: center” serta “align-items: center”

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Center Div 5</title>
    <style>
        * {
            box-sizing: border-box;
            margin: 0px;
            padding: 0px;
        }

        .center {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 400px;
            border: 3px solid green;
        }
    </style>
</head>

<body>
    <h2>Flexbox Centering</h2>
    <div class="center">
        <p>I am vertically and horizontally centered.<br>
            <img src="./gambartengah.jpg" alt="Paris" /></p>
    </div>
</body>

</html>

Cara 6: Menggunakan CSS Grid dengan class parent child dan property “display: grid”, “justify-content: center” serta “align-content: center”

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Center Div 5</title>
    <style>
        * {
            box-sizing: border-box;
            margin: 0px;
            padding: 0px;
        }
        .parent {
            display: grid;
            justify-content: center;
            align-content: center;
            height: 600px;
            width: 100%;
            border: 1px solid black;
        }
        .child {
            height: 200px;
            width: 200px;
            background-color: #2196F3;
            text-align: center;
        }
    </style>
</head>

<body>
    <h2>Grid Centering</h2>

    <div class="parent">
        <div class="child">child</div>
    </div>
</body>

</html>

Selamat mencoba, semoga bermanfaat.

Happy Coding!

Membuat Multiple Select Option Checkbox

Pada tulisan kali ini kita akan mencoba membuat multiple select option dengan checkbox. Pada gambar di atas ada 2 bentuk select option. Yang pertama adalah multiple select option tanpa checkbox dan yang kedua adalah multiple select option dengan checkbox.

Untuk membuat multiple select option kita biasanya menggunakan HTML tag <select> dan <option> dengan memberikan atribut ‘multiple’ pada tag select. Berikut ini coding multiple select option yang biasa (tanpa checkbox).

&lt;h2&gt;Multiple Select Option&lt;/h2&gt;
&lt;form&gt;
    &lt;label&gt;Pilihan: &lt;/label&gt;
    Tekan tombol Ctrl untuk memilih beberapa pilihan&lt;br /&gt;
    &lt;select name=&quot;pilih[]&quot; multiple style=&quot;height:70px;width:200px&quot;&gt;
        &lt;option value=&quot;0&quot; disabled&gt;Pilih Opsi&lt;/option&gt;
        &lt;option value='1'&gt;Pilihan Pertama&lt;/option&gt;
        &lt;option value='2'&gt;Pilihan Kedua&lt;/option&gt;
        &lt;option value='3'&gt;Pilihan Ketiga&lt;/option&gt;
    &lt;/select&gt;
    &lt;p&gt;&lt;input type=&quot;submit&quot; value=&quot;Submit&quot;&gt;&lt;/p&gt;
&lt;/form&gt;

Untuk beberapa memilih opsi, kita harus tekan dan tahan tombol ‘Ctrl’ pada keyboard lalu klik opsi-opsi yang ada. Jika kita klik lagi satu opsi tanpa tekan tombol Ctrl maka pilihan yang sudah dipilih tadi akan hilang dan kita harus pilih lagi. Ini tentunya akan sedikit menyulitkan.

Nah, sekarang kita coba buat multiple select option dengan checkbox supaya kita tidak perlu menggunakan tombol ‘Ctrl’ untuk memilih opsinya sehingga opsi-opsi yang sudah dipilih tadi tidak hilang karena lupa tekan tombol ‘Ctrl’. Berikut ini coding multiple select option dengan checkbox. Pada coding tersebut kita menggunakan CSS untuk menempatkan posisi checkbox sedemikian rupa sehingga tampilannya seperti pada gambar diatas. Kita juga menggunakan javascript untuk membuat dropdown selectBox.

&lt;style&gt;
.multiselect{width:200px;}
.selectBox{position: relative;}
.selectBox select {width:100%;}
.overSelect {position: absolute;left: 0;right: 0;top: 0;bottom: 0;}
#checkboxes {display: none;border: 1px #a0a0a0 solid;}
#checkboxes label {display: block;}
#checkboxes label:hover {background-color: #1e90ff;}
&lt;/style&gt;

&lt;h2&gt;Multiple Select Option Checkbox&lt;/h2&gt;
&lt;form&gt;
    &lt;div class=&quot;multiselect&quot;&gt;
        &lt;div class=&quot;selectBox&quot; onclick=&quot;showCheckboxes()&quot;&gt;
            &lt;select&gt;
                &lt;option readonly&gt;Pilih opsi&lt;/option&gt;
            &lt;/select&gt;
            &lt;div class=&quot;overSelect&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div id=&quot;checkboxes&quot;&gt;
            &lt;label for=&quot;satu&quot;&gt;
            &lt;input type=&quot;checkbox&quot; id=&quot;satu&quot; name=&quot;pilih[]&quot; value=&quot;1&quot; /&gt;Pilihan Pertama&lt;/label&gt;
            &lt;label for=&quot;dua&quot;&gt;
            &lt;input type=&quot;checkbox&quot; id=&quot;dua&quot; name=&quot;pilih[]&quot; value=&quot;2&quot; /&gt;Pilihan Kedua&lt;/label&gt;
            &lt;label for=&quot;tiga&quot;&gt;
            &lt;input type=&quot;checkbox&quot; id=&quot;tiga&quot; name=&quot;pilih[]&quot; value=&quot;3&quot; /&gt;Pilihan Ketiga&lt;/label&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;p&gt;&lt;input type=&quot;submit&quot; value=&quot;Submit&quot;&gt;&lt;/p&gt;
&lt;/form&gt;

&lt;script&gt;
    var expanded = false;
    function showCheckboxes() {
        var checkboxes = document.getElementById(&quot;checkboxes&quot;);
        if (!expanded) {
            checkboxes.style.display = &quot;block&quot;;
            expanded = true;
        } else {
            checkboxes.style.display = &quot;none&quot;;
            expanded = false;
        }
    }
&lt;/script&gt;

Selamat mencoba. Happy coding…

Tombol Switch dengan CSS

Kali ini kita akan mencoba membuat tombol geser kiri kanan (switch button) dengan menggunakan CSS lalu mengambil statusnya dengan javascript.
Kita manfaatkan properti CSS: ‘appearance’ pada elemen input checkbox untuk manipulasi tampilan field checkbox biasa menjadi tombol geser.
Kita juga menfaatkan pseudo-element ‘:before’ untuk manipulasi tampilan content di dalam tombol switch.

Berikut coding selengkapnya.

&lt;!doctype html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
	&lt;meta charset=&quot;utf-8&quot;&gt;
	&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
	&lt;title&gt;CSS Switch Botton&lt;/title&gt;
	&lt;style&gt;
	.toggle {
	  -webkit-appearance: none;
	  -moz-appearance: none;
	  appearance: none;
	  width: 98px;
	  height: 30px;
	  position: relative;
	  border-radius: 20px;
	  display: inline-block;
	  overflow: hidden;
	  outline: none;
	  border: none;
	  cursor: pointer;
	  background-color: #707070;
	  transition: background-color ease 0.3s;
	}
	.toggle:before {
	  content: &quot;Depan Belakang&quot;;
	  display: block;
	  position: absolute;
	  z-index: 2;
	  width: 25px;
	  height: 25px;
	  background: #fff;
	  left: 2px;
	  top: 2px;
	  border-radius: 50%;
	  font:bold 12px/28px Helvetica;
	  text-indent: -40px;
	  word-spacing: 30px;
	  color: #fff;
	  text-shadow: -1px -1px rgba(0,0,0,0.15);
	  white-space: nowrap;
	  box-shadow: 0 1px 2px rgba(0,0,0,0.2);
	  transition: all cubic-bezier(0.3, 1.5, 0.7, 1) 0.3s;
	}
	.toggle:checked {background: #4CD964;}
	.toggle:checked:before {left:70px;}
	&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h2 id=&quot;status&quot;&gt;Belakang&lt;/h2&gt;
&lt;input id=&quot;swbtn&quot; class=&quot;toggle&quot; type=&quot;checkbox&quot; /&gt;
&lt;script&gt;
	let swbtn = document.getElementById(&quot;swbtn&quot;);
	let status = document.getElementById(&quot;status&quot;);
	swbtn.addEventListener(&quot;click&quot;, function(){
		if (swbtn.checked) {
			status.innerHTML = &quot;Depan&quot;;
		} else if (!swbtn.checked)	{
			status.innerHTML = &quot;Belakang&quot;;
		}
	});
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

Selamat mencoba. Semoga bermanfaat.

Sumber: https://danklammer.com/articles/simple-css-toggle-switch/

Sort dan Search Data Tabel

JSSortSearchData

Fitur pengurutan (sort) data dan pencarian (search) data merupakan fitur yang umum diperlukan dalam aplikasi web. Kita bisa membuatnya dengan bantuan library seperti jquery dan datatables.
Kali ini saya akan memberikan cara membuat fitur sort dan search data dalam table menggunakan fungsi javascript tanpa library.

Ada 2 fungsi yang kita buat:

  • fungsi searchTable()
  • fungsi sortTable(), yang dapat melakukan sort data huruf (alphabet), angka (numeric) dan tanggal (date)

Fungsi resetHeader() digunakan untuk mengembalikan kolom header tabel supaya ketika kolom header di click, tanda panah ke atas ↑ (sort ascending) atau ke bawah ↓ (sort descending)  hanya tampil di kolom yang di click. Header kolom disimpan dalam variable array headerCol.

Berikut coding selengkapnya.

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta charset=&quot;utf-8&quot;/&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;
&lt;title&gt;Sort Search Data in Table&lt;/title&gt;
&lt;style&gt;
html,body{font:12px Arial,Helvetica,sans-serif;}
.cari {padding:5px;border:1px solid #ddd;}
#table1 {border-collapse:collapse;}
#table1 th {padding:12px;text-align:center;background-color:#f0f0f0;cursor:pointer;}
#table1 th, #table1 td {border:1px solid #ddd;padding:6px;}
#table1 tr:nth-child(odd){background-color: #f1f1f1;}
#table1 tr:hover {background-color:#f8f8f8;}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h2&gt;Tabel Versi Android&lt;/h2&gt;
&lt;p&gt;&lt;input type=&quot;text&quot; id=&quot;1&quot; class=&quot;cari&quot; onkeyup=&quot;searchTable(1)&quot; size=&quot;10&quot; placeholder=&quot;Cari Nama...&quot;&gt;
&lt;input type=&quot;text&quot; id=&quot;3&quot; class=&quot;cari&quot; onkeyup=&quot;searchTable(3)&quot; size=&quot;10&quot; placeholder=&quot;Cari Rilis...&quot;&gt;&lt;/p&gt;
&lt;table id=&quot;table1&quot;&gt;
  &lt;tr&gt;
    &lt;th onclick=&quot;sortTable('num',0)&quot;&gt;No.&lt;/th&gt;
	&lt;th onclick=&quot;sortTable('alfa',1)&quot;&gt;Nama&lt;/th&gt;
    &lt;th onclick=&quot;sortTable('num',2)&quot;&gt;Versi&lt;/th&gt;
    &lt;th onclick=&quot;sortTable('date',3)&quot;&gt;Rilis&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;1&lt;/td&gt;
	&lt;td&gt;Froyo&lt;/td&gt;
    &lt;td&gt;2.2&lt;/td&gt;
    &lt;td&gt;10 May 2010&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;2&lt;/td&gt;
	&lt;td&gt;Gingerbread&lt;/td&gt;
    &lt;td&gt;2.3&lt;/td&gt;
    &lt;td&gt;6 Dec 2010&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;3&lt;/td&gt;
	&lt;td&gt;Honeycomb&lt;/td&gt;
    &lt;td&gt;3.0&lt;/td&gt;
    &lt;td&gt;22 Feb 2011&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;4&lt;/td&gt;
	&lt;td&gt;Ice Cream Sandwich&lt;/td&gt;
    &lt;td&gt;4.0&lt;/td&gt;
    &lt;td&gt;19 Oct 2011&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;5&lt;/td&gt;
	&lt;td&gt;Jelly Bean&lt;/td&gt;
    &lt;td&gt;4.1&lt;/td&gt;
    &lt;td&gt;9 Jul 2012&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;6&lt;/td&gt;
	&lt;td&gt;Kitkat&lt;/td&gt;
    &lt;td&gt;4.4&lt;/td&gt;
    &lt;td&gt;31 Oct 2013&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;7&lt;/td&gt;
	&lt;td&gt;Lollipop&lt;/td&gt;
    &lt;td&gt;5.0&lt;/td&gt;
    &lt;td&gt;12 Nov 2014&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;8&lt;/td&gt;
	&lt;td&gt;Marshmallow&lt;/td&gt;
    &lt;td&gt;6.0&lt;/td&gt;
    &lt;td&gt;28 May 2015&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;9&lt;/td&gt;
	&lt;td&gt;Nougat&lt;/td&gt;
    &lt;td&gt;7.0&lt;/td&gt;
    &lt;td&gt;22 Aug 2016&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;10&lt;/td&gt;
	&lt;td&gt;Oreo&lt;/td&gt;
    &lt;td&gt;8.0&lt;/td&gt;
    &lt;td&gt;21 Aug 2017&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;script&gt;
var cols = document.getElementById('table1').rows[0].cells;
var headerCol = new Array();
for (var i = 0; i &lt; (cols.length); i++) {
	headerCol[i]=cols[i].textContent;
}
	
function searchTable(col) {
  var input, filter, table, tr, td, i;
  input = document.getElementById(col);
  filter = input.value.toUpperCase();
  table = document.getElementById(&quot;table1&quot;);
  tr = table.getElementsByTagName(&quot;tr&quot;);
  for (i = 0; i &lt; tr.length; i++) {
    if(col=='1') td = tr[i].getElementsByTagName(&quot;td&quot;)[1];
	else if(col=='3') td = tr[i].getElementsByTagName(&quot;td&quot;)[3];
    if (td) {
      if (td.innerHTML.toUpperCase().indexOf(filter) &gt; -1) {
        tr[i].style.display = &quot;&quot;;
      } else {
        tr[i].style.display = &quot;none&quot;;
      }
    }     
  }
}
function resetHeader(){
	var c = document.getElementById('table1').rows[0].cells;
	for (var i = 0; i &lt; (c.length); i++) {
		c[i].textContent=headerCol[i];
	}
}
function sortTable(d,n) {
  var table, rows, col_header, switching, i, x, y, a,b,shouldSwitch, dir = &quot;asc&quot;, switchcount = 0;
  table = document.getElementById(&quot;table1&quot;);
  rows = table.getElementsByTagName(&quot;tr&quot;);
  col_header  = rows[0].getElementsByTagName(&quot;th&quot;)[n];
  switching = true;
  while (switching) {
	switching = false;    
    for (i = 1; i &lt; (rows.length - 1); i++) {
		shouldSwitch = false;
		x = rows[i].getElementsByTagName(&quot;td&quot;)[n];
		y = rows[i + 1].getElementsByTagName(&quot;td&quot;)[n];
		if (d==&quot;num&quot;)
		{	a = Number(x.innerHTML);
			b = Number(y.innerHTML);
		} else if (d==&quot;alfa&quot;)
		{	a = x.innerHTML.toLowerCase();
			b = y.innerHTML.toLowerCase();
		} else if (d==&quot;date&quot;)
		{	a = Date.parse(x.innerHTML);
			b = Date.parse(y.innerHTML);
		}
		if (dir == &quot;asc&quot;) {
			if (a &gt; b) {
			  shouldSwitch = true;
			  break;
			}
		} else if (dir == &quot;desc&quot;) {
			if (a &lt; b) {
			  shouldSwitch = true;
			  break;
			}
		}
    }
    if (shouldSwitch) {
      rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
      switching = true;
      switchcount ++;
    } else {
      if (switchcount == 0 &amp;&amp; dir == &quot;asc&quot;) {
        dir = &quot;desc&quot;;
        switching = true;
      }
    }	
  }
  resetHeader();
  if (dir == &quot;asc&quot;) {col_header.textContent =  headerCol[n] + &quot; \u2191&quot;;}
  if (dir == &quot;desc&quot;) {col_header.textContent = headerCol[n] + &quot; \u2193&quot;;}
}
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

 Selamat mencoba dan semoga bermanfaat.

Membuat Tooltip yang Mengikuti Pointer Mouse

tooltips

Sekarang kita coba membuat tooltip seperti gambar di atas. Yang membuat saya tertarik adalah tooltip ini bisa bergerak mengikuti gerakan pointer mouse di sepanjang text link.

Tampilan kotak tooltip kita buat dengan menggunakan CSS lalu untuk menggerakan kotak tersebut kita pakai javascript

&lt;script&gt;
var tooltip = document.querySelectorAll('.tooltip');
document.addEventListener('mousemove', fn, false);
function fn(e) {
  for (var i = tooltip.length; i--;) {
    tooltip[i].style.left = e.pageX + 'px';
    tooltip[i].style.top = e.pageY + 'px';
  }
}
&lt;/script&gt;

Untuk coding lengkapnya silakan coba di bawah ini.

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;title&gt;CSS Tooltip&lt;/title&gt;
  &lt;style&gt;
	a:hover .tooltip 
	{ display: block; }
	.tooltip {
	  display: none;
	  position: absolute;
	  z-index: 1000;
	  margin: 15px;
	  border:2px solid #0094ff;
	  border-radius: 8px 8px 0 0;
	  width:400px;
	  font: 12px Arial;
	}
	.tooltip h3 {
	  background:#0094ff;
	  color:#ffffff;
	  margin:0;
	  padding:8px;
	}
	.tooltip p {
	  background:#f0f0f0;
	  color:#000000;
	  margin:0;padding:8px; 
	}
	&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;a href=&quot;#&quot; &gt;Ini adalah link dengan tooltip mengikuti pointer mouse
&lt;div class=&quot;tooltip&quot;&gt;
    &lt;h3&gt;Contoh Teks Lorem Ipsum yang Lazim Digunakan&lt;/h3&gt;
    &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit,
	sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
	Ut enim ad minim veniam, quis nostrud exercitation ullamco
	laboris nisi ut aliquip ex ea commodo consequat. 
	Duis aute irure dolor in reprehenderit in voluptate 
	velit esse cillum dolore eu fugiat nulla pariatur. 
	Excepteur sint occaecat cupidatat non proident, 
	sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt; 

&lt;script&gt;
var tooltip = document.querySelectorAll('.tooltip');
document.addEventListener('mousemove', fn, false);
function fn(e) {
  for (var i = tooltip.length; i--;) {
    tooltip[i].style.left = e.pageX + 'px';
    tooltip[i].style.top = e.pageY + 'px';
  }
}
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

Selamat mencoba, semoga sukses.

Selected Table Row dengan CSS

Selected Table Row dengan CSS

Selected Table Row dengan CSS

Table hover sudah pernah kita bahas dan kali ini saya berikan cara supaya kita bisa click baris-baris pada table. Selain warna yang berubah pada baris di tunjuk oleh pointer mouse, kita juga bisa di click beberapa baris untuk memilihnya (selected table row).

Hal ini dapat dilakukan dengan menggunakan fungsi javascript querySelectorAll() dan addEventListener().
Berikut ini coding selengkapnya:

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;CSS Select Table Row&lt;/title&gt;
&lt;style&gt;
.mytable,th,td{border:1px solid #ffffff;border-collapse:collapse;font:12px verdana,arial,sans-serif;}
.mytable th {background:#000099;color:#ffffff;padding:10px;font-weight:bold;}
.mytable td {padding:8px;}
.mytable tr {background:#f0f0f0;}
.mytable tr:hover td {background:#c0c0c0;}
.mytable tr.selected {background: #00aacc;}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;table class=&quot;mytable&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;&lt;th&gt;No.&lt;/th&gt;&lt;th width=&quot;200&quot;&gt;Table Head 1&lt;/th&gt;&lt;th width=&quot;200&quot;&gt;Table Head 2&lt;/th&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
var trs = document.querySelectorAll(&quot;tr&quot;);
for (var i = 0; i &lt; trs.length; i++) {
    trs[i].addEventListener(&quot;click&quot;, function() 
    {   if(this.className.indexOf(&quot;selected&quot;) == 0)
            this.className = &quot;&quot;;
        else 
            this.className = &quot;selected&quot;;
    });
}
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

Selamat mencoba, semoga sukses.

Membaca Email dengan PHP

Email IMAP

Membaca Email dengan PHP

PHP memiliki fungsi untuk mengambil dan membaca email melalui internet protokol POP3 dan IMAP. Port yang kita gunakan untuk itu adalah 993 (IMAP SSL)
Fungsi-fungsi yang digunakan adalah:

imap_open($hostname,$username,$password);
imap_fetch_overview($mbox,”1:$MN”,0);
imap_header($mbox, $msg);

Coding berikut ini menampilkan semua email dari GMail Anda, seperti pada gambar di atas.

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Baca Email&lt;/title&gt;
&lt;style type=&quot;text/css&quot;&gt;
#mytable {width:800px;border:1px #a9c6c9 solid;font:12px verdana,arial,sans-serif;color:#333333;}
#mytable td {padding:8px;}
#mytable tr:hover td {background:#a0a0a0;color:#ffffff;}
#mytable th {background-color:#000099;color:#ffffff;padding:8px; }
#mytable tr:nth-child(odd) {background-color:#c0c0c0;}
#mytable tr:nth-child(even) {background-color:#f0f0f0;}
&lt;/style&gt;
&lt;script type=&quot;text/javaScript&quot;&gt;
function buka(url)
{newwindow = window.open(url, '_blank', &quot;status=yes, height=300, width=400, resizeable=yes&quot;);}
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;?php
$hostname = '{imap.gmail.com:993/ssl/novalidate-cert}[Gmail]/All Mail';
$username = 'your_email@gmail.com';
$password = 'your_gmail_password';
$mbox = imap_open($hostname,$username,$password) or die('Cannot connect to mail server: ' . imap_last_error());
$MC=imap_check($mbox);
$MN=$MC-&gt;Nmsgs;
$overview=imap_fetch_overview($mbox,&quot;1:$MN&quot;,0);
$size=sizeof($overview);
echo &quot;&lt;h1&gt;Baca Email&lt;/h1&gt;
	&lt;table id='mytable'&gt;
	&lt;tr&gt;&lt;th&gt;Msg_Id&lt;/th&gt;&lt;th&gt;From&lt;/th&gt;&lt;th&gt;Email&lt;/th&gt;&lt;th&gt;Date&lt;/th&gt;&lt;th&gt;Subject&lt;/th&gt;&lt;th&gt;Size&lt;/th&gt;&lt;/tr&gt;&quot;;
for($i=$size-1;$i&gt;=0;$i--)
{	$val=$overview[$i];
	$msg=$val-&gt;msgno;
	$date=date('Y-m-d H:i:s', strtotime($val-&gt;date));
	$subj=isset($val-&gt;subject)?$val-&gt;subject:&quot;(no subject)&quot;;
	$header = imap_header($mbox, $msg);
	$from = $header-&gt;from;
	$email_size = $val-&gt;size;
	foreach ($from as $id =&gt; $object) 
	{	$fromname = isset($object-&gt;personal)?$object-&gt;personal:$object-&gt;mailbox;
		$fromaddress = $object-&gt;mailbox . &quot;@&quot; . $object-&gt;host;
	}
	echo &quot;&lt;tr onclick=\&quot;buka('read_email.php?msgno=$msg&amp;msgdate=$date&amp;msgfrom=$fromname&amp;msgemail=$fromaddress&amp;msgsubj=$subj');\&quot;&gt;
		&lt;td&gt;$msg&lt;/td&gt; &lt;td&gt;$fromname&lt;/td&gt; &lt;td&gt;$fromaddress&lt;/td&gt; &lt;td&gt;$date&lt;/td&gt; &lt;td&gt;$subj&lt;/td&gt;&lt;td&gt;$email_size&lt;/td&gt;&lt;/tr&gt;&quot;;
}
echo &quot;&lt;/table&gt;&quot;;
imap_close($mbox);
?&gt;
&lt;/body&gt;
&lt;/html&gt;

Anda dapat click baris pada table-nya untuk membaca isi email Anda pada window browser baru.

Berikut ini coding untuk membaca isi email Anda

&lt;?php
function get_mime_type(&amp;$structure)
{   $primary_mime_type = array(&quot;TEXT&quot;, &quot;MULTIPART&quot;, &quot;MESSAGE&quot;, &quot;APPLICATION&quot;, &quot;AUDIO&quot;, &quot;IMAGE&quot;, &quot;VIDEO&quot;, &quot;OTHER&quot;);
    if($structure-&gt;subtype) {return $primary_mime_type[(int) $structure-&gt;type] . '/' . $structure-&gt;subtype;}
    return &quot;TEXT/PLAIN&quot;;
}
function get_part($stream, $msg_number, $mime_type, $structure = false, $part_number = false)
{   if (!$structure) {$structure = imap_fetchstructure($stream, $msg_number);}
    if($structure)
    {   if($mime_type == get_mime_type($structure))
        {   if(!$part_number) {$part_number = &quot;1&quot;;}
            $text = imap_fetchbody($stream, $msg_number, $part_number);
            if($structure-&gt;encoding == 3) {return imap_base64($text);}
			else if ($structure-&gt;encoding == 4) {return imap_qprint($text);}
			else {return $text;}
        }
        if ($structure-&gt;type == 1) /* multipart */
        {   while (list($index, $sub_structure) = each($structure-&gt;parts))
            {   if ($part_number) {$prefix = $part_number . '.';}
                $data = get_part($stream, $msg_number, $mime_type, $sub_structure, $prefix . ($index + 1));
                if ($data) {return $data;}
            }
        }
    }
    return false;
}
$msg_number = $_GET['msgno'];
$msg_from = $_GET['msgfrom'];
$msg_email = $_GET['msgemail'];
$msg_date = $_GET['msgdate'];
$msg_subject = $_GET['msgsubj'];
$hostname = '{imap.gmail.com:993/ssl/novalidate-cert}[Gmail]/All Mail';
$username = 'your_email@gmail.com';
$password = 'your_gmail_password';
$stream = imap_open($hostname,$username,$password) or die('Cannot connect to mail server: ' . imap_last_error());
$isiemail = get_part($stream, $msg_number, &quot;TEXT/HTML&quot;);
echo &quot;&lt;h2&gt;$msg_subject&lt;/h2&gt;
	  From: $msg_from ($msg_email) &lt;br /&gt;
	  Date: $msg_date&lt;br/&gt;
	  &lt;hr /&gt;
	  $isiemail&quot;;
?&gt; 

Selamat mencoba, semoga sukses.

Drop Down List Dinamis dengan JavaScript

drop down list 1

drop down list 1

Drop Down List 2

Drop Down List 2

Yang dimaksud dengan “Drop Down List Dinamis” disini adalah ketika Anda memilih satu item dalam drop down list box maka drop down list box berikutnya akan berisi list item yang sesuai dengan pilihan Anda.

Drop down list bisa Anda buat dengan tag <select> <option> seperti coding dibawah ini.

&lt;body&gt;
&lt;h3&gt;Dynamic Drop Down List dengan JavaScript&lt;/h3&gt;
&lt;form name=&quot;form1&quot;&gt;	
	&lt;select  name=&quot;Category&quot; onChange=&quot;SelectCat2();&quot; &gt;
	&lt;option value=&quot;&quot;&gt;Pilih Jenis Produk&lt;/option&gt;
	&lt;option value=&quot;Desktop&quot;&gt;Desktop&lt;/option&gt;
	&lt;option value=&quot;Laptop&quot;&gt;Laptop&lt;/option&gt;
	&lt;option value=&quot;Smartphone&quot;&gt;Smartphone&lt;/option&gt;
	&lt;/select&gt;
	&lt;select id=&quot;SubCat&quot; name=&quot;SubCat&quot;&gt;
	&lt;option value=&quot;&quot;&gt;Pilih Merk&lt;/option&gt;
	&lt;/select&gt;
&lt;/form&gt;
&lt;/body&gt;

Pada contoh di atas kita buat 2 field drop down list, yakni: field “Category” dan field “SubCat”.
Pada field “Category” diberikan atribut onChange=”SelectCat2();” supaya ketika field itu berubah isinya maka akan menjalankan fungsi javascript “SelectCat2()”.

Berikut ini coding JavaScript selengkapnya.

function SelectCat2(){
	removeAllOptions(document.form1.SubCat);
	addOption(document.form1.SubCat, &quot;&quot;, &quot;Pilih Merk&quot;, &quot;&quot;);
	if(document.form1.Category.value == 'Desktop')
	{	addOption(document.form1.SubCat,&quot;Acer&quot;, &quot;Acer&quot;);
		addOption(document.form1.SubCat,&quot;Dell&quot;, &quot;Dell&quot;);
		addOption(document.form1.SubCat,&quot;Lenovo&quot;, &quot;Lenovo&quot;);
	}
	if(document.form1.Category.value == 'Laptop')
	{	addOption(document.form1.SubCat,&quot;Asus&quot;, &quot;Asus&quot;);
		addOption(document.form1.SubCat,&quot;Acer&quot;, &quot;Acer&quot;);
		addOption(document.form1.SubCat,&quot;Sony Vaio&quot;, &quot;Sony Vaio&quot;);
	}
	if(document.form1.Category.value == 'Smartphone')
	{	addOption(document.form1.SubCat,&quot;Samsung&quot;, &quot;Samsung&quot;);
		addOption(document.form1.SubCat,&quot;LG&quot;, &quot;LG&quot;);
		addOption(document.form1.SubCat,&quot;Sony Xperia&quot;, &quot;Sony Xperia&quot;);
	}
}
function removeAllOptions(selectbox)
{	var i;
	for(i=selectbox.options.length-1;i&gt;=0;i--)
	{	selectbox.remove(i); }
}
function addOption(selectbox, value, text )
{	var optn = document.createElement(&quot;OPTION&quot;);
	optn.text = text;
	optn.value = value;
	selectbox.options.add(optn);
}

Anda bisa meletakan coding javascript ini di dalam tag head HTML.

Selamat mencoba, semoga bermanfaat.

 

 

Validasi Radio Button dan Checkbox dengan Javascript

Validasi Radio Button dan Checkbox

Validasi Radio Button dan Checkbox

Pada artikel sebelumnya saya telah berikan cara validasi textbox dan tanggal. Kali ini saya akan berikan contoh cara validasi data pada radio button dan checkbox.

Seperti kita tahu bahwa radio botton adalah field yang di-input oleh user dengan cara memilih satu dari beberapa pilihan, misalnya data gender pilihannya laki-laki atau perempuan.
Sedangkan checkbox mirip dengan radio button tapi user bias memilih lebih dari satu pilihan.

Bagaimana cara mengambil data dari field radio button dan checkbox dan bagaimana pula cara validasi supaya field itu harus diisi oleh user? Berikut coding HTML dan Javascriptnya.

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Javascript - Mengambil nilai dari Checkbox dan Radio Button&lt;/title&gt;
&lt;script&gt;
function displayResult(browser)
{ document.getElementById(&quot;result&quot;).value=browser; }
function displayAlert()
{	var x=document.getElementById(&quot;result&quot;).value;
	if (x==&quot;&quot;)
	{	alert(&quot;Please select your favorite browser!&quot;);
		form.browser[0].focus();
		return false;
	}
	else
		alert(x + &quot; is your favorite browser&quot;);
}
function displayResult2(frm)
{	var selectedbrowser=&quot;&quot;;
	for (i = 0; i &lt; frm.browser2.length; i++)
    {  	if (frm.browser2[i].checked)
		{	selectedbrowser += frm.browser2[i].value +&quot;, &quot;;}
	}
	document.getElementById(&quot;result2&quot;).value=selectedbrowser;
}
function displayAlert2(frm)
{	var selectedbrowser=&quot;&quot;;
	for (i = 0; i &lt; frm.browser2.length; i++)
    {  	if (frm.browser2[i].checked)
		{	selectedbrowser += frm.browser2[i].value +&quot;, &quot;;}
	}
	if (selectedbrowser==&quot;&quot;)
	{	alert(&quot;Please select your favorite browser!&quot;);
		form.browser2[0].focus();
		return false;
	}
	else
	alert(&quot;Your favorite browser : &quot; + selectedbrowser);
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;Select your favorite browser:&lt;/p&gt;
&lt;form&gt;
&lt;input type=&quot;radio&quot; name=&quot;browser&quot; onclick=&quot;displayResult(this.value)&quot; value=&quot;Internet Explorer&quot;&gt;Internet Explorer&lt;br&gt;
&lt;input type=&quot;radio&quot; name=&quot;browser&quot; onclick=&quot;displayResult(this.value)&quot; value=&quot;Firefox&quot;&gt;Firefox&lt;br&gt;
&lt;input type=&quot;radio&quot; name=&quot;browser&quot; onclick=&quot;displayResult(this.value)&quot; value=&quot;Opera&quot;&gt;Opera&lt;br&gt;
&lt;input type=&quot;radio&quot; name=&quot;browser&quot; onclick=&quot;displayResult(this.value)&quot; value=&quot;Google Chrome&quot;&gt;Google Chrome&lt;br&gt;
&lt;input type=&quot;radio&quot; name=&quot;browser&quot; onclick=&quot;displayResult(this.value)&quot; value=&quot;Safari&quot;&gt;Safari&lt;br&gt;&lt;br&gt;
Your favorite browser is: &lt;input type=&quot;text&quot; id=&quot;result&quot;&gt;&lt;br&gt;
&lt;button type=&quot;button&quot; onclick=&quot;displayAlert()&quot;&gt;Display value of radio button in alert&lt;/button&gt;
&lt;br&gt;&lt;hr&gt;
&lt;p&gt;Select your favorite browser:&lt;/p&gt;
&lt;input type=&quot;checkbox&quot; name=&quot;browser2&quot; onclick=&quot;displayResult2(this.form)&quot; value=&quot;Internet Explorer&quot;&gt;Internet Explorer&lt;br&gt;
&lt;input type=&quot;checkbox&quot; name=&quot;browser2&quot; onclick=&quot;displayResult2(this.form)&quot; value=&quot;Firefox&quot;&gt;Firefox&lt;br&gt;
&lt;input type=&quot;checkbox&quot; name=&quot;browser2&quot; onclick=&quot;displayResult2(this.form)&quot; value=&quot;Opera&quot;&gt;Opera&lt;br&gt;
&lt;input type=&quot;checkbox&quot; name=&quot;browser2&quot; onclick=&quot;displayResult2(this.form)&quot; value=&quot;Google Chrome&quot;&gt;Google Chrome&lt;br&gt;
&lt;input type=&quot;checkbox&quot; name=&quot;browser2&quot; onclick=&quot;displayResult2(this.form)&quot; value=&quot;Safari&quot;&gt;Safari&lt;br&gt;&lt;br&gt;
Your favorite browser: &lt;input type=&quot;text&quot; id=&quot;result2&quot; size=&quot;60&quot;&gt;&lt;br&gt;
&lt;button type=&quot;button&quot; onclick=&quot;displayAlert2(this.form)&quot;&gt;Display value of radio button in alert&lt;/button&gt;
&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;

Selamat mencoba.

Watermark Login Page Dengan JQuery

Watermark Login Page

Watermark Login Page

Pernah login di windows 7? Pada field passwordnya terdapat tulisan watermark “Password” yang jika kita ketik pada field tersebut maka tulisan watermark “Password” akan hilang (hide) lalu jika kita hapus ketikan kita maka tulisan watermark “Password” akan muncul lagi (show).

Untuk membuat login page seperti itu kita bisa lakukan dengan method hide/show di JQuery. Sebenarnya di HTML 5 fitur watermark bisa dilakukan dengan attribute “placeholder” pada input tag, tapi itu hanya bekerja dengan baik di IE 10+ saja. Dengan JQuery maka operasi watermark login seperti windows 7 bisa bekerja di semua web browser populer (IE, Firefox, Chrome, Safari, Opera).

Berikut ini coding HTML-nya.

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;Log In&lt;/title&gt;
&lt;link href=&quot;login-style.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;jquery.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
$(document).ready(function() {
	$('#password1').show();
	$('#password2').hide();
	$('#password1').focus(function() {
		$('#password1').hide();
		$('#password2').show();
		$('#password2').focus();
	});
	$('#password2').blur(function() {
		if($('#password2').val() == '') {
			$('#password1').show();
			$('#password2').hide();
		}
	});
	$('.username').each(function() {
		var default_value = this.value;
		$(this).css('color', '#a0a0a0');
		$(this).focus(function() {
			if(this.value == default_value) {
				this.value = '';
				$(this).css('color', '#000000');
			}
		});
		$(this).blur(function() {
			if(this.value == '') {
				$(this).css('color', '#a0a0a0');
				this.value = default_value;
			}
		});
	});
});
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id=&quot;container&quot;&gt;
    &lt;div id=&quot;top&quot;&gt;
    &lt;h1&gt;Login to Application System&lt;/h1&gt;
    &lt;/div&gt; 
    &lt;div id=&quot;loginbox&quot;&gt;
	&lt;fieldset&gt;
		&lt;legend&gt;Please Log In&lt;/legend&gt;
		&lt;form name=&quot;login_form&quot; class=&quot;form&quot;&gt;
		&lt;label for=&quot;username&quot;&gt;User Name&lt;/label&gt;
		&lt;div class=&quot;div_texbox&quot;&gt;
		&lt;input name=&quot;username&quot; type=&quot;text&quot; class=&quot;username&quot; id=&quot;username&quot; value=&quot;Username&quot; /&gt;
		&lt;/div&gt;
		&lt;label for=&quot;password&quot;&gt;Password&lt;/label&gt;
		&lt;div class=&quot;div_texbox&quot;&gt;
		&lt;input class=&quot;password&quot; id=&quot;password1&quot; type=&quot;text&quot; value=&quot;Password&quot; autocomplete=&quot;off&quot;/&gt;
		&lt;input class=&quot;password&quot; id=&quot;password2&quot; type=&quot;password&quot; name=&quot;password&quot; value=&quot;&quot; autocomplete=&quot;off&quot; /&gt;
		&lt;/div&gt;
		&lt;div class=&quot;button_div&quot;&gt;
		&lt;input name=&quot;Submit&quot; type=&quot;button&quot; value=&quot;Submit&quot; class=&quot;buttons&quot; /&gt;
		&lt;/div&gt;
		&lt;/form&gt;
		&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
	&lt;/fieldset&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;

Berikut coding / script CSS untuk login page tersebut.

/* login-style.css */
@charset &quot;utf-8&quot;;
body {
	margin:0;padding:0;
	background-color:#ffffff;
	font-family:Arial, Helvetica, sans-serif;
}
fieldset {
	width:460px;
	border:2px dashed #CCC;
	padding:10px;
	margin-top:20px;
	margin-bottom:20px;
}
legend {
	font-size:90%;
	font-weight:normal;
	line-height:1.1;
	color:#fff;
	background: #666;
	border: 1px solid #333;
	padding: 2px 6px;
}
h1 {
	font-size: 175%;
	letter-spacing: -1px;
	font-weight: normal;
	line-height: 1.1;
	color:#808080;
}
label {
	width:140px;
	height:32px;
	margin-top:3px;
	margin-right:2px;
	padding-top:11px;
	padding-left:6px;
	background-color:#CCCCCC;
	float:left;
	display: block;
	font-size: 115%;
	letter-spacing: -1px;
	font-weight: normal;
	line-height: 1.1;
	color:#666;
}
#container {
	width:550px;
	margin:auto;
	padding:10px;
}
#top {
	height:50px;
}
#loginbox {
	width:530px;
	padding-top:30px;
	float:left;
}
.clear {	clear:both;}
.div_texbox {
	width:300px;
	float:left;
	background-color:#E6E6E6;
	height:35px;
	margin-top:3px;
	padding-top:5px;
	padding-bottom:3px;
	padding-left:5px;
}
.textbox {
	background-image: url(images/user.png);
	background-color:#FFFFFF;
	background-repeat: no-repeat;
	background-position:left;
	width:250px;
	font:normal 18px Arial;
	color: #999999;
	padding:3px 5px 3px 19px;
}
.textbox:focus, .textbox:hover {	background-color:#F0FFE6;}
.username {
    	background-image: url(images/user.png);
    	background-repeat: no-repeat;
    	background-position:left;
    	background-color:#FFFFFF;
		width:265px;
    	font:normal 18px Arial;
    	color: #999999;
    	padding:3px 5px 3px 19px;
}
.username:focus, .username:hover {background-color:#F0FFE6;}
.password {
    	background-image: url(images/pass.png);
    	background-repeat: no-repeat;
   		background-position:left;
   		background-color:#FFFFFF;
		width:265px;
    	font:normal 18px Arial;
    	color: #999999;
    	padding:3px 5px 3px 19px;
}
.password:focus, .password:hover{background-color:#F0FFE6;}
#password-clear{display:none;color:#a0a0a0;}
.button_div {
	width:388px;
	float:left;
	background-color:#fff;
	border:1px solid #ccc;
	text-align:center;
	height:35px;
	margin-top:3px;
	padding:5px 32px 3px;
}
.buttons {
	background: #e3e3db;
	font-size:12px; 
	color: #989070; 
	padding: 6px 14px;
	border-width: 2px;
	border-style: solid;
	border-color: #fff #d8d8d0 #d8d8d0 #fff;
	text-decoration: none;
	text-transform:uppercase;
	font-weight:bold;
}

Untuk script JQuery bisa download di website JQuery: http://jquery.com/download/

Disana ada 2 gambar icon yakni, user.png dan pass.png, masing masing bisa anda buat dengan screen capture gambar di atas.

Selamat mencoba.

Membuat Menu Akordion Dengan CSS

Menu Accordion

Menu Accordion

Menu akordion dapat dibuat dengan javascript library jquery, namun disini kita hanya menggunakan CSS untuk membuat menu akordion yang cukup responsive.

Berikut ini coding HTML dan CSS-nya.

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Menu Akordion Dengan CSS&lt;/title&gt;
&lt;style type=&quot;text/css&quot;&gt;
*{font-family:Helvetica,Arial,sans-serif;}
#container
{	margin:left;
	background-color:#f0f0f0;
	width:300px;
	padding:10px;
	border-radius:15px;
}
.akordion h3 + div
{	height:0;
	overflow:hidden;
	-webkit-transition:height 0.3s ease-in;
	background-color:#ffffff;
	border-radius:10px;
}
.akordion :target h3 + div 
{	height:100px;
	padding-left:10px;
}
.akordion .section.large:target h3 + div 
{	overflow: auto;}
div.section 
{	background-color:#c0c0c0;
	padding:5px;
	border:0px solid;
}
a:link {text-decoration:none;}
.akordion a:hover 
{text-decoration:underline; color:#ff0000;}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Menu Akordion Dengan CSS&lt;/h1&gt;
&lt;hr&gt;
&lt;br&gt;
&lt;div id=&quot;container&quot;&gt;
	&lt;div class=&quot;akordion&quot;&gt;
	&lt;h2&gt;List Menu&lt;/h2&gt;
        &lt;div id=&quot;satu&quot; class=&quot;section&quot;&gt;
			&lt;h3&gt;&lt;a href=&quot;#satu&quot;&gt;Menu Satu&lt;/a&gt;&lt;/h3&gt;
			&lt;div&gt;&lt;ul&gt;
				&lt;li&gt;Sub Menu Satu&lt;/li&gt;
				&lt;li&gt;Sub Menu Dua&lt;/li&gt;
				&lt;li&gt;Sub Menu Tiga&lt;/li&gt;
			&lt;/ul&gt;&lt;/div&gt;
		&lt;/div&gt;
        &lt;div id=&quot;dua&quot; class=&quot;section&quot;&gt;
            &lt;h3&gt;&lt;a href=&quot;#dua&quot;&gt;Menu Dua&lt;/a&gt;&lt;/h3&gt;
			&lt;div&gt;&lt;ul&gt;
				&lt;li&gt;Sub Menu Satu&lt;/li&gt;
				&lt;li&gt;Sub Menu Dua&lt;/li&gt;
				&lt;li&gt;Sub Menu Tiga&lt;/li&gt;
			&lt;/ul&gt;&lt;/div&gt;
        &lt;/div&gt;
		&lt;div id=&quot;tiga&quot; class=&quot;section&quot;&gt;
			&lt;h3&gt;&lt;a href=&quot;#tiga&quot;&gt;Menu Tiga&lt;/a&gt;&lt;/h3&gt;
			&lt;div&gt;&lt;ul&gt;
				&lt;li&gt;Sub Menu Satu&lt;/li&gt;
				&lt;li&gt;Sub Menu Dua&lt;/li&gt;
				&lt;li&gt;Sub Menu Tiga&lt;/li&gt;
			&lt;/ul&gt;&lt;/div&gt;
        &lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;

Kuncinya adalah pada pseudo class selector :target di CSS.

pada class akordion diberikan pseudo class target ke elemen h3 dan div
.akordion :target h3 + div
Ketika link “satu” pada tag h3 di click maka URL akan menuju ke fragment identifier #satu dengan demikian div id=satu akan bekerja membuka section class=satu. Begitu juga ketika link dua atau tiga di click.

Selamat mencoba.

Menampilkan Jam dan Tanggal dengan JavaScript

Show Date Time for Real

Show Date Time for Real

Menampilkan tanggal dan jam secara real time dapat dilakukan dengan JavaScript.

Berikut ini coding JavaScript untuk tampilan seperti diatas:

function startTime()
{ 	var today=new Date();
	var weekday=new Array(7);
	var weekday=[&quot;Sunday&quot;,&quot;Monday&quot;,&quot;Tuesday&quot;,&quot;Wednesday&quot;,&quot;Thursday&quot;,&quot;Friday&quot;,&quot;Saturday&quot;];
	var monthname=new Array(12);
	var monthname=[&quot;Jan&quot;,&quot;Feb&quot;,&quot;Mar&quot;,&quot;Apr&quot;,&quot;May&quot;,&quot;Jun&quot;,&quot;Jul&quot;,&quot;Aug&quot;,&quot;Sep&quot;,&quot;Oct&quot;,&quot;Nov&quot;,&quot;Dec&quot;];
	var dayname=weekday[today.getDay()];
	var day=today.getDate();
	var month=monthname[today.getMonth()]; 
	var year=today.getFullYear();
	var h=today.getHours();
	var m=today.getMinutes();
	var s=today.getSeconds();
	h=checkTime(h);
	m=checkTime(m);
	s=checkTime(s);
	document.getElementById('clocktime').innerHTML=dayname+&quot;, &quot;+day+&quot;-&quot;+month+&quot;-&quot;+year+&quot;, &quot;+h+&quot;:&quot;+m+&quot;:&quot;+s;
	t=setTimeout(function(){startTime()},500);
}
// function checkTime to add a zero in front of numbers &lt; 10
function checkTime(i)
{	if(i&lt;10){i=&quot;0&quot;+i;}
	return i;
}

Berikut ini coding HTML yang memanggil fungsi javascript tersebut:

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;My Application&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/time.js&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body onload=&quot;startTime()&quot;&gt;
&lt;table bgcolor=&quot;#0000ff&quot; width=&quot;100%&quot; cellpadding=&quot;5&quot;&gt; 
&lt;tr&gt;&lt;td width=&quot;33%&quot;&gt;My Application&lt;/td&gt;&lt;td align=&quot;right&quot;&gt;
&lt;span id=&quot;clocktime&quot;&gt;&lt;/span&gt; :: Welcome, Super Administrator | Logout&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;/body&gt;
&lt;/html&gt;

 
Anda Juga bisa menggunakan method javascript toLocaleDateString() dengan parameter format dibawah ini.

&lt;div id=&quot;date&quot; style=&quot;font:bold 12pt Arial;background:#00ffff;width:100%;&quot;&gt;&lt;/div&gt; 
&lt;script&gt;
function displayTime() {  
const now = new Date(); // Get current time
const formattedDate = now.toLocaleDateString('en-GB',
  {day: 'numeric', month: 'short', year: 'numeric'})
  .replace(/ /g, '-');
document.getElementById(&quot;date&quot;).innerHTML = formattedDate + 
  &quot; &quot; + now.toLocaleTimeString('it-IT');
setTimeout(displayTime, 1000); 
}
window.onload = displayTime; 
&lt;/script&gt;

 
Selamat mencoba.

Read Write File Dengan JavaScript

Read Write File dengan JavaScript

Read Write File dengan JavaScript

JavaScript bekerja di client web browser. Program berikut ini adalah contoh operasi read & write file dengan menggunakan ActiveXObject yang ada di JavaScript. ActiveXObject ini hanya bekerja di browser Microsoft Internet Explorer (IE).

Pertama kita sediakan form berisi field textarea1 dan input textbox1 serta sebuah input button. Field textarea1 digunakan untuk menampilkan content dari file dan field input textbox1 digunakan untuk memasukan text ke dalam file bernama chat.txt.
Ketika input text dimasukan lalu tekan tombol enter atau tombol Post maka text akan JavaScript akan menulis ke dalam file chat.txt lalu membacanya dan ditampilkan ke textarea.

&lt;body&gt;
&lt;h2&gt;Chat History&lt;/h2&gt;
&lt;form name=&quot;form1&quot;&gt;
&lt;textarea name=&quot;textarea1&quot; id=&quot;textarea1&quot; rows=&quot;10&quot; cols=&quot;50&quot;&gt; &lt;/textarea&gt; &lt;br&gt;&lt;br&gt;
Say: &lt;input type=&quot;text&quot; name=&quot;textbox1&quot; onKeyPress=&quot;return handleKeyPress(this,event)&quot;&gt;
&lt;input type=&quot;Button&quot; value=&quot;Post&quot; onClick='SayIt()'&gt;
&lt;/form&gt;
&lt;/body&gt;

Berikut ini coding JavaScriptnya. Ada 2 fucnction yaitu SayIt() dan handleKeyPress(myfield,e). Function SayIt() akan melakukan proses read write file dan function handleKeyPress(myfield,e) untuk menangani input tombol enter pada field textbox1.

function SayIt()
{	var SayDateTime = new Date();
	var fso = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;);
	var flp = fso.OpenTextFile(&quot;D:\\chat.txt&quot;, 8,false);
	var valtextbox1 = document.form1.textbox1.value;
	flp.WriteLine(SayDateTime);
	flp.WriteLine(valtextbox1);
	flp.Close();
	var flp = fso.OpenTextFile(&quot;D:\\chat.txt&quot;, 1, true);
	FileContents = flp.ReadAll();
	document.form1.textarea1.value=FileContents;
	var textarea = document.getElementById('textarea1');
	textarea.scrollTop = textarea.scrollHeight;
	document.form1.textbox1.value = &quot;&quot;;
	flp.Close();
}
function handleKeyPress(myfield,e)
{	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;
	if (keycode == 13)
	{	SayIt();
		return false;
	}
	else return true;
}

Coding ini hanya memberikan gambaran cara kerja ActivexObject dalam JavaScript yang berlaku di Microsoft Internet Explorer.
Jika Anda ingin menggunakannya di server sebagai aplikasi chating atau shutbox, tentu harus menggunakan script yang bekerja di server, seperti ASP atau PHP.

Membaca Informasi Browser Dengan JavaScript

Browser Info

Ada kalanya kita ingin mendapatkan informasi web browser apa yang digunakan oleh user, apakah IE, Mozilla Firefox, Chrome, atau Opara. Dengan object navigator yang disediakan oleh JavaScript, kita dapat membuat coding untuk men-deteksi web browser apa yang digunakan oleh user.

Berikut ini coding HTML dan Javascript selengkapnya.

&lt;html&gt;
&lt;body&gt;
&lt;div id=&quot;example&quot;&gt;&lt;/div&gt;
&lt;script&gt;
txt = &quot;&lt;p&gt;Browser CodeName: &quot; + navigator.appCodeName + &quot;&lt;/p&gt;&quot;;
txt+= &quot;&lt;p&gt;Browser Name: &quot; + navigator.appName + &quot;&lt;/p&gt;&quot;;
txt+= &quot;&lt;p&gt;Browser Version: &quot; + navigator.appVersion + &quot;&lt;/p&gt;&quot;;
txt+= &quot;&lt;p&gt;Cookies Enabled: &quot; + navigator.cookieEnabled + &quot;&lt;/p&gt;&quot;;
txt+= &quot;&lt;p&gt;Platform: &quot; + navigator.platform + &quot;&lt;/p&gt;&quot;;
txt+= &quot;&lt;p&gt;User-agent header: &quot; + navigator.userAgent + &quot;&lt;/p&gt;&quot;;
txt+= &quot;&lt;p&gt;User-agent language: &quot; + navigator.systemLanguage + &quot;&lt;/p&gt;&quot;;
document.getElementById(&quot;example&quot;).innerHTML=txt;
if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ 
	var ffversion=new Number(RegExp.$1) 
	document.write(&quot;You're using Firefox &quot; + ffversion) 
}
else if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ 
	var ieversion=new Number(RegExp.$1) 
	document.write(&quot;You're using IE &quot; + ieversion)
}
else if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ 
	var oprversion=new Number(RegExp.$1) 
	document.write(&quot;You're using Opera &quot; + oprversion)
}
else if (/Chrome[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ 
	var chromeversion=new Number(RegExp.$1) 
	document.write(&quot;You're using Chrome &quot; + chromeversion)
}
else
	document.write(&quot;Browser name is unknown.&quot;)
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

Kita dapat mengembangkan coding ini untuk mendeteksi browser lainnya, seperti Safari. Kita juga dapat memodifikasi coding ini untuk berjalan di server dan menyimpan informasi browser yang digunakan oleh user di database.

Membuat Validasi Tanggal Dengan JavaScript

Jika kita ingin mendapatkan informasi tanggal dari user kita dapat membuat sebuah field untuk diisi oleh user dengan format tanggal tertentu, seperti pada gambar berikut ini:

Form dengan field tanggal

Kita berikan petunjuk format pengisiannya: dd/mm/yyyy, misalnya: input 17/8/1945 untuk 17 Agustus 1945. Jika user memasukan tanggal yang salah, misalnya 8/17/1945, maka ketika form disubmit kita dapat menampilkan alert “Invalid Date Format. Please correct and submit again.”

Berikut ini coding HTML-nya.

&lt;body&gt;
&lt;form name=&quot;formTes&quot; action=&quot;tesform.html&quot; method=&quot;get&quot;  onsubmit=&quot;return cekData();&quot;&gt;
&lt;table&gt;
&lt;tr&gt;&lt;td&gt;Nama:&lt;/td&gt;&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;nama&quot;
maxlength=&quot;35&quot; size=&quot;35&quot; /&gt;&lt;/td&gt;
&lt;tr&gt;&lt;td&gt;Alamat:&lt;/td&gt;&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;alamat&quot;
maxlength=&quot;60&quot; size=&quot;60&quot; /&gt;&lt;/td&gt;
&lt;tr&gt;&lt;td&gt;Kota:&lt;/td&gt;&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;kota&quot; value=&quot;&quot;
maxlength=&quot;20&quot; size=&quot;20&quot; /&gt;&lt;/td&gt;
&lt;tr&gt;&lt;td&gt;Kode Pos:&lt;/td&gt;&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;kodepos&quot;
maxlength=&quot;5&quot; size=&quot;6&quot; /&gt;&lt;/td&gt;
&lt;tr&gt;&lt;td&gt;Tgl Lahir:&lt;/td&gt;&lt;td&gt;&lt;input type=&quot;text&quot; name=&quot;lahir&quot; /&gt; &lt;b&gt;Valid date format:&lt;/b&gt; dd/mm/yyyy&lt;/td&gt;
&lt;tr&gt;&lt;td&gt;e-mail:&lt;/td&gt;&lt;td&gt;&lt;input type=&quot;text&quot;
name=&quot;email&quot; /&gt;&lt;/td&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&lt;input name=&quot;kirim&quot; type=&quot;submit&quot; value=&quot;Kirim&quot; /&gt;
&lt;button type=&quot;submit&quot; name=&quot;button1&quot; onclick=&quot;confirm_clear();&quot;&gt;Clear&lt;/button&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;/form&gt;
&lt;/body&gt;

Validasi dapat diberikan pada saat tombol submit dengan event onclick pada formTes akan di-check apakah field tanggal lahir telah diisi dengan benar.

Berikut ini coding JavaScript untuk validasi field tanggal lahir:

function checkdate()
{    var validformat=/^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
var returnval=false
if (!validformat.test(formTes.lahir.value))
alert(&quot;Invalid Date Format. Please correct and submit again.&quot;)
else
{     //Detailed check for valid date ranges
var dayfield=formTes.lahir.value.split(&quot;/&quot;)[0]
var monthfield=formTes.lahir.value.split(&quot;/&quot;)[1]
var yearfield=formTes.lahir.value.split(&quot;/&quot;)[2]
var dayobj = new Date(yearfield, monthfield-1, dayfield)
if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
alert(&quot;Invalid Day, Month, or Year range detected. Please correct and submit again.&quot;)
else
returnval=true
}
if (returnval==false) formTes.lahir.select()
return returnval
}

Untuk mencobanya silakan download full script in PDF, select all (Ctrl+A) copy paste ke notepad save as html.