Tam Sürümünü Görmek İçin : Metin Kutusuna Girileni Formatlama
Arkadaşlar acil yardıma ihtiyacım var. Metin kutusuna sayısal değer girdikçe girilen değeri her 3 basamakta virgül atarak
ayırma işlemini aynı sayfada tuşa basıldıkça nasıl yapabilirim.
Yani 1256789 diye bir şey girerken bunu 1,256,789 diye ayıracak ve başka bir sayfaya HTTP_POST_VARS ile gönderdiğimde bu formatta gözükecek..
Bu daha cok javascript'i ılgılendıren bı sorun.. Cunku sen bu ısı "aynı sayfada tuşa basıldıkça" yapmak ıstıyorsun..
Oyuzden bu tıp soruları Web Tasarım bolumunde sorman daha ıyı.. Ben sımdılık senın yerıne bu konuyu o bolume tasıdım..
Ertuğrul arkadaş çok teşekkürler..Artık bu bölümüde sık kullanırım..
Yanıt az sonra... Makina değiştirince...
<html>
<head>
<title>FORMAT</title>
<script language="JavaScript1.2">
<!--
function formatla(tutucu){
deger = tutucu.value.replace(/,/g,'');
uzunluk = deger.length;
if(!(uzunluk % 3) && (parseInt(deger) == deger)){
tutucu.value = '';
for(i = 0; i < uzunluk; i += 3)
tutucu.value += deger.substr(i,3) + ',';
}
}
-->
</script>
</head>
<body>
<form name="formatli">
<input name="sayi" type="text"
onKeyPress="formatla(this);">
</form>
</body>
</html>
Biraz daha geliştirmemiz gerekiyor... Bekleyin...
Teşekkürler arkadaşım verdiğim cevap için.Yanlız burda bir mantık hatası oluyor.Atıyorum.1234567 diye bir değer girdiğimde bunu ben 1,234,567 şeklinde yazmasını istiyorum.
Yani senin gönderdiğin kodda böyle bir değeri 123,456,7 şeklinde yazıyor.Burada rakam sayısını kontrol ettirip ona göre bir şeyler yapmamız gerekiyor.
Tam senin istediğin gibi bişe yaptım... Çok güzel oldu... Ama araya bayram girdi ve ben bilgisayarımdan çok çoookk uzaktayım... Tatilden sonra gönderirim kodları... Umarım geç kalmadık!
Sevgiler...
Küçük bir ipucu : Girilen değeri ters çevirip üçer üçer böldüm; sonra elde edilen yeni değeri yine ters çevirdim... Böylece bahsettiğin mantık hatasını çözmüş olduk...
Bekleyiniz...
Yaf... Ben bu fi tarihinden kalma konuyu aslında hatırlamıyorum desem bana inanır mısınız? Sağolsun bir arkadaş e-posta gönderip "Nerede kardeşim bahsettiğin script, araya bayram falan girdi diyip unutturuyorsun millete" diye bi güsel paylamış beni... Onun sayesinde hatırladım yane... O arkadaşa diyorum ki "Affet... ben şahane bi script yazmıştım zamanında, ama aldığım istihbarata göre federaller o scripte el koymuş..."
Alın size 2004 model gıcır gıcır bi JavaScript :
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-9">
<TITLE>FX THOUSAND EDIT</TITLE>
<STYLE TYPE="TEXT/CSS">
<!--
body {color: black; background-color: white; font-family: Verdana; font-size: 12px}
-->
</STYLE>
<SCRIPT LANGUAGE="JavaScript1.2">
<!--
/*
fxcode (free x code)
Coded By Erwin C. York (fixman) 24.11.2003
E-Mail : erwin_commett_york~yahoo.com
Bu script tamamen benim kıvrak zekamın ürünüdür, ama yine de...
Dilediğiniz gibi esinlenebilir, değiştirebilir ve yeniden dağıtabilirsiniz.
*/
// c -> key "c"ode, b -> boolean, t -> text, e -> edit, i -> integer
DIVISION_BRACKET = 3;
key_set = {
BACKSPACE : 8,
SHIFT_KEY : 16,
END_KEY : 35,
HOME_KEY : 36,
LEFT_ARROW : 37,
RIGHT_ARROW : 39,
DELETE_KEY : 46,
INS_KEY : 96
};
function keyControl(){
c = document.all ? event.keyCode : document.captureEvents(Event.KEYPRESS);
for(i in key_set) if (b = (c == key_set[i])) break;
if((/[\WA-Zojmk]/.test(String.fromCharCode(c)) || event.shiftKey) && !b) event.returnValue = false;
// returnValue ozelliğini IE dışındaki tarayıcılar desteklemiyordu sanırım...
// Event nesnesinin ABORT değeri ile bu iş kotarılabilir mi acep?
}
function format(edit){
if((c != key_set.LEFT_ARROW) &&
(c != key_set.RIGHT_ARROW) &&
(c != key_set.HOME_KEY)){
t = '';
e = edit.value.replace(/,/g, '');
if(e.length > DIVISION_BRACKET){
if(!(i = e.length % DIVISION_BRACKET)) i = DIVISION_BRACKET;
e = e.replace(t = e.substr(0, i), '');
for(i = 0; i < e.length; i += DIVISION_BRACKET)
t += ',' + e.substr(i, DIVISION_BRACKET);
edit.value = t;
} else edit.value = e;
}
}
-->
</SCRIPT>
</HEAD>
<BODY>
<P><B>FX THOUSAND EDIT</B></P>
<INPUT NAME="ThEdit" TYPE="text" SIZE="28" ONKEYDOWN="keyControl()" ONKEYUP="format(this)">
</BODY>
</HTML>
teşekkürler fixman
ne zamandır arıyorudum bu meseleyi
Forum Yazılımı : vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.