PDA

View Full Version : شمارش کاراکترهای تایپ شده در یه textbox



m.hamidreza
سه شنبه 16 مرداد 1386, 19:30 عصر
من میخوام دوتا texbox داشته باشم که تو یکیش امکان تایپ متن وجود داره
و یکیشم read only باشه و در نقش یه شمارنده باشه طوری که مقدارش مثلا از 500 شروع شه و با تایپ هر کاراکتر در textbox اول یکی از 500 کم شه یعنی کاربر بتونه حداکثر 500 کاراکتر رو در textbox اول تایپ کنه و textbox دوم تعداد کاراکتر هایی که کاربر تا رسیدن به 500 داره رو نشون بده . نمونش توی سایت CodeProject برای تایپ بیوگرافی فکر کنم باشه .

I,Nobody
سه شنبه 16 مرداد 1386, 20:04 عصر
طول کاراکترهای فیلد رو می تونی اینجوری بدست بیاری :


len=field.value.length;

cybercoder
سه شنبه 16 مرداد 1386, 20:06 عصر
استفاده از تابع Lenght در رویداد onkeypress

m.hamidreza
چهارشنبه 17 مرداد 1386, 10:55 صبح
این کد رو من نوشتم :



var len = document.getElementsByName('myText').length;




ولی مقدار رو همش 1 میده ! بیشتر راهنمایی بفرمایید ممنون میشم .

I,Nobody
چهارشنبه 17 مرداد 1386, 14:58 عصر
myText = document.getElementsByName('myText');
len=myText.value.length;
alert(len);

m.hamidreza
چهارشنبه 17 مرداد 1386, 20:04 عصر
:لبخندساده: درست شد . اشکالم این بود که این textbox ها تو تگ form بودن ! form رو پاک کردم درست شد ولی با تگ فرم چه جوری میشه ؟

حالا وقتی کاربر یه کاراکتر پاک میکنه باید یدونه به textbox شمارنده اضافه کنم ، Backspace کدش چیه ؟ اگه با delete پاک کنه یا select all کنه delete کنه هم باید در نظر بگیرم ! :متفکر:

I,Nobody
چهارشنبه 17 مرداد 1386, 23:06 عصر
من این آخریو نفهمیدم چی می گی.
برات کدو نوشتم. فقط به جای 20، عدد مورد نظرت(مثلاً 500) بذار


<input id=myText size=40 onkeyup='check_max_char(this);'>
&nbsp; <input id=remain style='border:dashed 1px #909900; width:30px; text-align: center;' disabled>
<script>
var max=20;
document.getElementById("remain");
remain.value=max;
function check_max_char(obj){
str=obj.value;
len=str.length;
if(len>max){
str=str.substr(0,max);
alert("OverFlow");
obj.value=str;
}
document.getElementById("remain");
remain.value=max-obj.value.length;
}
</script>

m.hamidreza
پنج شنبه 18 مرداد 1386, 22:47 عصر
دستت درد نکنه . . . :تشویق:

من اینو نوشته بودم :





<script type="text/javascript">
function counter()
{
document.getElementById('MyText1');
len=MyText1.value.length;
document.getElementById('MyText2');
MyText2.value=499-len;
}
</script>






وقتی یه کاراکترو پاک میکردم به len اضافه نمیکرد منظورم این بود . . . :لبخندساده:

imanamami
جمعه 13 خرداد 1390, 15:23 عصر
ما که نفهمیدیم چه شد:گیج: حالا اگر بخواهیم کار های دیگه هم همزمان با این کار انجام شه ، آنوقت چی ! اینکه جواب نمی ده

aminjava
چهارشنبه 23 شهریور 1390, 20:58 عصر
این کد کار من راه انداخت.
امیدوارم بدرد شماهم بخوره.

کدجاوااسکریپتش

<SCRIPT LANGUAGE="JavaScript">
function textCounter(field,cntfield,maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit); // otherwise, update 'characters left' counter
else cntfield.value = maxlimit - field.value.length; }
</script>

اینم کد فرمش


<form name="myForm" action="" method="post">
<b>One Function to Count and Limit Multiple Form Text Areas</b><br>
<textarea name="message1" wrap="physical" cols="28" rows="5" onKeyDown="textCounter(document.myForm.message1,document.myFo rm.remLen1,125)" onKeyUp="textCounter(document.myForm.message1,document.myFo rm.remLen1,125)"></textarea> <br>
<input readonly type="text" name="remLen1" size="3" maxlength="3" value="125"> characters left <br>
</form>