Artha

Currency Handle menggunakan javascript

Posted on: February 27, 2012

untuk mempermudah user ada baiknya saat kita membuat textbox untuk nilai uang kita handle untuk memepermudah user dalam menginputkan, berikut event handle menggunakan java script :

function replace_dot(str)
{
	
	if(str[0] == '.')
	{
		return str.replace('.','');
	}
	else
	{
		return str;
	}
}

function currency(angka,textbox,formIdx)
{
	//string yang masuk harus di replace dlu smua titiknya untuk prhitungan selanjutnya untuk menghandl OnKeyUp function
	var str = replaceall(angka.value.toString(),'.','');
	var temp = new Array();
	var length_str = str.length - 1;
	var str_temp="";
	var i = length_str;
	var iplus = 1;
	var s ='';
	//membuat urutan string apabila masuk index ke 3 maka ditambah titik (misal 1234 jadinya 432.1)
	while(i >= 0)
	{
		if(isNaN(str[i]) == false)
		{
			if(iplus % 3 == 0)
			{
				s = str[i] + '.';
			}
			else
			{
				s = str[i];
			}
		}
		else
		{
			s = '';
		}
		str_temp += s;
		iplus++;
		i--;	
	}
	//membalik urutan string agar krmbali ke string semua dengan titik(misal 432.1 jadi 1.234)
	var str_result = "";
	for(var i = str_temp.length-1;i >= 0;i--)
	{
		str_result += str_temp[i];
	}
	str_result = replace_dot(str_result);
	document.forms[formIdx].elements[textbox].value = str_result;	
}

pada code diatas terdapat fungsi tambahan yaitu fungsi replaceall() yang bisa dilihat pada posting saya sebelumnya
disini

kemudian contoh pmanggilan fungsi diatas pada sebuah element textbox pada htmlform adalah sebagai berikut :

<form name="frm">
<input type="text" name="txt" size="25" OnKeyUp="currency(this,'txt',0);">
</form>

function currency membutuhkan 3 parameter yaitu
parameter ke:
1. object html yang akan diambil string nya(biasanya cukup dengan this)
2. nama textbox
3. indexform pada sebuah html

smoga bermanfaat ^-^

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: