validasi angka menggunakan javascript

Ressa Cahyani · May 22, 2011
saya mempunyai empat inputan type=text yang tidak boleh berisi angka 0 dan melebihi 100. bagaimana validasi untuk javascriptnya?
mohon bantuannya :(
Silahkan login untuk menjawab!
1
Loading...
Ellyx Christian · May 23, 2011 · 2 Suka · 1 Tidak Suka
saya sedikit binggung dengan pertanyaanya, jika tidak boleh ada angka 0 berarti 50 tidak boleh masuk? untuk itu pake ini:
var text = '50';
var reg = /0/;
if(reg.test(text) || parseInt(text) > 100){
	alert('invalid data')
}
kalau 50 boleh:
if(parseInt(text)<= 0 && parseInt(text) > 100){
	alert('invalid data');
}
0
Loading...
Ressa Cahyani · May 23, 2011 · 0 Suka · 0 Tidak Suka
bukan..yang gak boleh angka 0 saja dan huruf atau karakter lain selain angka. tapi kalau misalnya 10-20..100 boleh, yang penting jangan 0 dan jangan melebihi 100.

begini, saya mempunyai empat inputan. dari keempat inputan inilah yang akan divalidasi :

<form name="form2" method="post" action="#">
<table>
<tr>
<td>Resolusi</td>
<td></td>
<td><input name="resolusi" type="text" size="5" maxlength="3" /> %</td>
</tr>
<tr>
<td>Harga</td>
<td></td>
<td><input name="harga" type="text" size="5" maxlength="3" /> %</td>
</tr>
<tr>
<td>Jumlah Auto-Fokus</td>
<td"></td>
<td><input name="af" type="text" size="5" maxlength="3" /> %</td>
</tr>
<tr>
<td>Ukuran Sensor</td>
<td></td>
<td><input name="sensor" type="text" size="5" maxlength="3" /> %</td>
</tr>
<tr>
<td></td>
<td><input name="ok" type="Submit" value="OK"></td>
<td><input name="reset" type="Reset" value="Reset" /></td>
</tr>
</table>
</form>

caranya bagaimana? bantuin ya :)
saya bingungnya memanggil code php ke javascript, maklum masih newbie :D
3
Loading...
Ellyx Christian · May 23, 2011 · 3 Suka · 0 Tidak Suka
Pertama kamu harus menambahkan attribute id di setiap input field seperti ini:
<form name="form2" id="form2" method="post" action="">
<table>
<tr>
<td>Resolusi</td>
<td></td>
<td><input name="resolusi" id="resolusi" type="text" size="5" maxlength="3" /> %</td>
</tr>
<tr>
<td>Harga</td>
<td></td>
<td><input name="harga" id="harga" type="text" size="5" maxlength="3" /> %</td>
</tr>
<tr>
<td>Jumlah Auto-Fokus</td>
<td></td>
<td><input name="af" id="af" type="text" size="5" maxlength="3" /> %</td>
</tr>
<tr>
<td>Ukuran Sensor</td>
<td></td>
<td><input name="sensor" id="sensor" type="text" size="5" maxlength="3" /> %</td>
</tr>
<tr>
<td></td>
<td><input name="ok" type="button" value="OK" onclick="validate(); return false;"></td>
<td><input name="reset" type="Reset" value="Reset" /></td>
</tr>
</table>
</form>
<!-- tambahkan javascript --->
<script type="text/javascript">
function validate(){
var resolusi = document.getElementById('resolusi').value;
if(parseInt(resolusi)<= 0 || parseInt(resolusi) > 100){
	alert('Invalid data resolusi');
	return false;
}
var harga = document.getElementById('harga').value;
if(parseInt(harga)<= 0 || parseInt(harga) > 100){
	alert('Invalid data harga');
	return false;
}
var af = document.getElementById('af').value;
if(parseInt(af)<= 0 || parseInt(af) > 100){
	alert('Invalid data resolusi');
	return false;
}
var sensor = document.getElementById('sensor').value;
if(parseInt(sensor)<= 0 || parseInt(sensor) > 100){
	alert('Invalid data resolusi');
	return false;
}
document.getElementById("form2").submit();
}
</script>
sebagai catatan kode php tidak bisa dipanggil dari javascript, yang ada adalah php digunakan untuk membentuk javascript dan tag html lainnya secara dinamis.
0
Loading...
Ressa Cahyani · May 24, 2011 · 0 Suka · 0 Tidak Suka
iya udah berhasil :) makasi banget..
tapi kalau user menginputkan "karakter selain angka" bagaimana? menggunakan isNan bisa gak ya?
0
Loading...
Ellyx Christian · May 24, 2011 · 0 Suka · 0 Tidak Suka
kan sudah pake function parseInt(); jika parseInt('test'); hasilnya adalah 0, jadi jika user memasukkan bukan angka, akan menjadi 0 dan tidak valid
0
Loading...
Ressa Cahyani · May 24, 2011 · 0 Suka · 0 Tidak Suka
wah. saya sudah mencobanya, dan mengganti juga dengan bbrp cara lain. tapi tetap saja tidak bisa :'(
validasi angka 0 dan melebihi 100 nya sudah berhasil, tetapi ketika saya memasukkan karakter selain angka, validasinya tidak bisa. :(
1
Loading...
Ellyx Christian · May 24, 2011 · 1 Suka · 0 Tidak Suka
coba pake ini:
<script type="text/javascript">
function validate(){
var resolusi = document.getElementById('resolusi').value;
if(parseInt(resolusi)<= 0 || parseInt(resolusi) > 100 || /\D/.test(resolusi)){
	alert('Invalid data resolusi');
	return false;
}
var harga = document.getElementById('harga').value;
if(parseInt(harga)<= 0 || parseInt(harga) > 100 || /\D/.test(harga)){
	alert('Invalid data harga');
	return false;
}
var af = document.getElementById('af').value;
if(parseInt(af)<= 0 || parseInt(af) > 100 || /\D/.test(af)){
	alert('Invalid data Auto FOcus');
	return false;
}
var sensor = document.getElementById('sensor').value;
if(parseInt(sensor)<= 0 || parseInt(sensor) > 100 || /\D/.test(sensor)){
	alert('Invalid data sensor');
	return false;
}
document.getElementById("form2").submit();
}
</script>
0
Loading...
Ressa Cahyani · May 25, 2011 · 0 Suka · 0 Tidak Suka
malah error. validasinya gak ada satu pun yang bisa
:'(
maaf jika saya banyak bertanya :)
kira-kira jika menggunakan isnan bisa gak ya?
saya sudah mencoba seperti ini, tapi tetap gak bs jg :D

[code=php]
function cekinput(){
var resolusi = document.getElementById('resolusi').value;
if(isNan(resolusi) || parseInt(resolusi)<= 0 || parseInt(resolusi) > 100 || isNan(resolusi)){
alert('Input bobot 1-100 untuk kriteria resolusi');
document.form2.resolusi.focus();
return false;
}
var harga = document.getElementById('harga').value;
if(isNan(harga) || parseInt(harga)<= 0 || parseInt(harga) > 100 || isNan(
harga))){
alert('Input bobot 1-100 untuk kriteria harga');
document.form2.harga.focus();
return false;
}
var af = document.getElementById('af').value;
if(isNan(af) || parseInt(af)<= 0 || parseInt(af) > 100 || isNan(af))){
alert('Input bobot 1-100 untuk kriteria auto fokus');
document.form2.af.focus();
return false;
}
var sensor = document.getElementById('sensor').value;
if(isNan(sensor) || parseInt(sensor)<= 0 || parseInt(sensor) > 100 || isNan(sensor))){
alert('Input bobot 1-100 untuk kriteria sensor');
document.form2.sensor.focus();
return false;
}
document.getElementById("form2").submit();
}
0
Loading...
Ellyx Christian · May 25, 2011 · 0 Suka · 0 Tidak Suka
Coba ini
function cekinput(){
 var resolusi = document.getElementById('resolusi').value;
 if(isNaN(parseInt(resolusi)) || parseInt(resolusi)<= 0 || parseInt(resolusi) > 100){
	 alert('Input bobot 1-100 untuk kriteria resolusi');
	 document.form2.resolusi.focus();
	 return false;
 }
 var harga = document.getElementById('harga').value;
 if(isNaN(parseInt(harga)) || parseInt(harga)<= 0 || parseInt(harga) > 100){
	 alert('Input bobot 1-100 untuk kriteria harga');
	 document.form2.harga.focus();
	 return false;
 }
 var af = document.getElementById('af').value;
 if(isNaN(parseInt(af)) || parseInt(af)<= 0 || parseInt(af) > 100 ){
	 alert('Input bobot 1-100 untuk kriteria auto fokus');
	 document.form2.af.focus();
	 return false;
 }
 var sensor = document.getElementById('sensor').value;
 if(isNaN(parseInt(sensor)) || parseInt(sensor)<= 0 || parseInt(sensor) > 100){
	 alert('Input bobot 1-100 untuk kriteria sensor');
	 document.form2.sensor.focus();
	 return false;
 }
 document.getElementById("form2").submit();
}
0
Loading...
Ressa Cahyani · May 25, 2011 · 0 Suka · 0 Tidak Suka
thanks alot mas Ellyx Christian, really help me :)