|
|
#1 (permalink) |
|
Üyelik Tarihi: 08.02.2001
Yer: avustralya
Mesaj: 163
|
input alanina minimum deger atamak
formdaki bir text alanına sadece rakam ve minumum 3 değerinin girilmesini istiyorum. ornegin: <INPUT type=text name=sayi maxlength=8> ise, yukardaki kodun yaratacagi input alanina 3 den daha az bir rakam girilemesin (0, 1 ve 2 girilemesin 3, 4, 5 vs girilebilir..) aynı zamanda yazı karakterleri de girilemesin. bunu yapmanın bildiğiniz bir yolu var mı? ps: formun gönderildiği sayfada bu testi yapmak mümkün tabi ama öyle yapmak istemiyorum. javascriptle olsa pek güzel olucak. teşekkür |
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,973
|
Re: input alanina minimum deger atamak
sanırım yolu bu
![]() Kod:
<script language=JavaScript> function checkMinLength(t, l){ if (t.value.length<l){ alert(t.id +'\'nin uzunluğu '+ l +'\'ten küçük olamaz!.'); t.focus(); return false; } else return true; } function anyMask() { var KeyTyped = String.fromCharCode(getKeyCode(event)); if (isNumeric(KeyTyped)) return true; return false; } function getKeyCode(e) { if (e.srcElement) { return e.keyCode } if (e.target) { return e.which } } function isNumeric(c) { var sNumbers = "01234567890"; if (sNumbers.indexOf(c) == -1) return false; else return true; } </script> <form onsubmit="return checkMinLength(this.a3,3);"> <input type="text" name="a3" id="a3" onblur="checkMinLength(this,3);" onkeypress="return anyMask();"> <input type="submit" name="r3" id="r3" value="test1"> </form>
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney http://www.sipidik.com |
|
|
|
|
|
#3 (permalink) |
|
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,973
|
Re: input alanina minimum deger atamak
birazda arşivlik fonksiyonları ekleyeyim
![]() Kod:
<HTML <head> <script language=JavaScript> // belirlenen inpubox sMask ile belirlenen şekilde formatlar. // * herhangi bir karakter, # nümerik, A alfanümerik(karakter), ? ise yön tuşları, enter // gibi fonksiyonel tuşları ifade eder. function setMask(event, sMask) { var KeyTyped = String.fromCharCode(getKeyCode(event)); var targ = getTarget(event); keyCount = targ.value.length; while (0 == 0) { if (keyCount < sMask.length - 1) { if ((sMask.charAt(keyCount) != '#') && (sMask.charAt(keyCount) != 'A') && (sMask.charAt(keyCount) != '?')) { targ.value += sMask.charAt(keyCount); keyCount++; } else break; } else break; } keyCount = targ.value.length; if (sMask.charAt(keyCount) == '*') return true; if (sMask.charAt(keyCount) == KeyTyped) return true; if ((sMask.charAt(keyCount) == '#') && isNumeric(KeyTyped)) return true; if ((sMask.charAt(keyCount) == 'A') && isAlpha(KeyTyped)) return true; if ((sMask.charAt(keyCount) == '?') && isPunct(KeyTyped)) return true; if (KeyTyped.charCodeAt(0) < 32) return true; return false; } // olayın hedef nesnesini seçer. function getTarget(e) { if (e.srcElement) { return e.srcElement; } if (e.target) { return e.target; } } // olayın tuş karakter kodunu alır. function getKeyCode(e) { if (e.srcElement) { return e.keyCode } if (e.target) { return e.which } } // c ile gelen parametrenin nümerik olup olmadığını kontrol eder. function isNumeric(c) { var sNumbers = "01234567890"; if (sNumbers.indexOf(c) == -1) return false; else return true; } // c ile gelen parametrenin alfanümerik (karaktersel) olup olmadığını kontrol eder. function isAlpha(c) { var lCode = c.charCodeAt(0); if (lCode >= 65 && lCode <= 122 ){ return true; } else return false; } // c ile gelen parametrenin fonksiyonel tuş olup olmadığını kontrol eder. function isPunct(c) { var lCode = c.charCodeAt(0); if (lCode >= 32 && lCode <= 47 ) { return true; } else return false; } // birazda eğlence :) // submit edildiği anda loading ibaresi çıkararak action edilen sayfaya geçene kadar // ziyaretçiye bilgi vererek işlem yapmasını engelliyoruz. function setLoading(){ var obj = document.body; var l = 20; var t = 150; var h = document.body.clientHeight; var w = document.body.clientWidth; var divop = ''; divop += '<div id="bgcolor" '; divop += ' style="position:absolute; left:'+ (l+12) +'px; top:'+ (t+12) +'px; width:'+ (w - 24 - 2*l) +'; height:'+ (h - 24 - 2*t) +'; '; divop += ' layer-background-color:#5C6F9A;'; divop += ' background-color:#5C6F9A; '; divop += ' filter: alpha(opacity=40);'; divop += ' filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);'; divop += ' -moz-opacity:'; divop += ' 50%; Z-INDEX=1;"> </div>'; divop += '<div id="border_table" '; divop += ' style="position:absolute; left:'+ l +'px; top:'+ t +'px; width:'+ (w-2*l) +'; height:'+ (h - 2*t) +'; '; divop += ' filter: alpha(opacity=40);'; divop += ' filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);'; divop += ' -moz-opacity:'; divop += ' 50%; Z-INDEX=1;"><table border=10 width=100% height=100% style="border-collapse:collapse;"><tr><td> </td></tr></table></div>'; var divnop = ''; divnop += '<div id="loading" '; divnop += ' style="position:absolute; left:'+ l +'px; top:'+ t +'px; width:'+ (w-2*l) +'; height:'+ (h - 2*t) +'; '; divnop += ' 50%; Z-INDEX=1;"><table border=0 width=100% height=100%><tr><td align=center valign=middle style="font-size:18px;color:yellow">Bilgiler Getiriliyor...</td></tr></table></div>'; obj.innerHTML += divop; obj.innerHTML += divnop; } // bence önemli olan bir fonksiyondur. // sayfa içerisinde yer alan tüm applet, iframe, select gibi nesneleri gizleyerek // bu nesnelerin çıkarmış olduğumuz loading ibaresinin üstüne geçmesini engelliyoruz. // çünkü bu nesneler her zaman üstte olmayı tercih eden nesnelerdir. function hideShowCovered(){ var tags = new Array("applet", "iframe", "select"); var el = this.element; for (var k = tags.length; k > 0; ) { var ar = document.getElementsByTagName(tags[--k]); for (var i = ar.length; i > 0;) { cc = ar[--i]; cc.style.visibility = "hidden"; } } } </script> </head> <body> <form onsubmit="setLoading();" method="POST" action="submitpage.ASP"> <input type="text" name="a3" id="a3" onkeypress="return setMask(event, '#(###) ### ## ##');"> <select> </select> <input type="submit" name="r3" id="r3" value="test1"> </form> </body </HTML>
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney http://www.sipidik.com |
|
|
|
|
|
#4 (permalink) | |
|
Üyelik Tarihi: 15.09.2000
Yer: İzmir
Yaş: 27
Mesaj: 131
|
Re: input alanina minimum deger atamak
Alıntı:
__________________
Tasarım - Tasmam :p |
|
|
|
|
|
|
#5 (permalink) |
|
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,973
|
Re: input alanina minimum deger atamak
evet, buradaki karakterlerden birine basılmışsa true, yoksa false değer geri gönderir, içeririne istediğin karakteri ekleyip çıkarabilirsin, herhangi bir problem teşkil etmez...
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney http://www.sipidik.com |
|
|
|
Zoque'a hoşgeldiniz!