PDA

View Full Version : سوال: نحوه معرفی کردن یک function در رویدادمربوط به textbox



zimzim
چهارشنبه 09 تیر 1389, 22:52 عصر
با سلام
من چگونه می توانم یک function از نوع javascript راکه در Asp.net تعریف کرده ام دررویداد ontextchanged مربوط به textbox استفاده کنم؟ چون زمانی که به شکل زیر استفاده می کنم پیغام خطا می دهد . change نام فانکشن است که آرگومان ورودی this می باشد.
<asp:TextBox ID="TextBox1" runat="server" OnTextChanged ="change(this)" ></asp:TextBox>

اگر ممکن است دراین مورد مرا راهنمایی کنید.

azmoodeh
پنج شنبه 10 تیر 1389, 09:31 صبح
سلام
دقيقا چه پيغام خطايي ميده ؟ فانكشن رو هم بنويس
به جاي OnTextChanged="change(this)" بنويس OnTextChanged=" return change(this)"

توي فانكشن Change هم يه دونه alert معمولي بذار ببين اصلا كار به اجراي فانكشن ميرسه يه نه . اگه رسيد احتمال زياد مشكل از فانكشنه. اگه نرسيد از textBox
و يه چيز خيلي مهم كه تازه يادم اومد
TextChange رويداد سمت سرور هست !!! بايد از onKeyPress يا OnChange استفاده كني :بامزه:

azmoodeh
پنج شنبه 10 تیر 1389, 09:36 صبح
اين هم راهنماي سريعي براي Event Handler هاي جاوا اسكريپتي
http://www.elated.com/articles/events-and-event-handlers/

moein_sql
پنج شنبه 10 تیر 1389, 09:37 صبح
سلام دوست من. به صورت زير انجام بده



protected page_load
{textbox1.attributes.add("ontextchanged", "change(this)"}

zimzim
پنج شنبه 10 تیر 1389, 11:18 صبح
متشکرم از راهنمایی دوستان
درپاسخ شما دوست Azmoode اینکه textboxرویداد onkeypress یا onchange ندارد. البته روش return راهم امتحان کردم ولی بازهم error می دهد.

ودرپاسخ شما دوست moein_sql اینکه این روش راهم امتحان کردم error نمی دهد ولی فانکشن هم اجرا نمی شود انگار فانکشن را نمی شناسد.
ممنون از راهنماییتون ، دیگه نمی دونم چیکار باید بکنم؟

azmoodeh
پنج شنبه 10 تیر 1389, 11:50 صبح
نگران نباشيد كه ويژوال استوديو اين Event رو نمياره
به عنوان مثال كد زير رو ببينيد :

<asp:TextBox ID="TextBox1" runat="server" onChange="alert('onChange Event Raised');" onKeyPress="alert('onKeyPress Event Raised');"></asp:TextBox>
OnkeyPress هر وقت كه درون TextBox چيزي تايپ كنيد با هر كاراكتر Raise ميشه و OnChange با خروج از TextBox‌در صورت تغيير Raise ميشه
حالا شما به جاي alert كه من نوشتم Function خودتون رو بنويسيد

zimzim
پنج شنبه 10 تیر 1389, 14:11 عصر
ممنون ازراهنمایی خیلی خوبت
من جواب گرفتم .