ورود

View Full Version : دکمه پیشفرض در وب



Pioneers
جمعه 11 اسفند 1385, 07:49 صبح
یه صفحه داریم شامل یه TextBox و یه Button. میخوایم وقتی کاربر متنش رو در TextBox نوشت و Enter زد, روال مربوط به دکمه خودبخود اجرا بشه.

توجه شود که بدون انجام کاری خاص, برخی مواقع روال یاد شده اجرا می گردد ولی برخی مواقع خیر. لطفا کمک کنید.

ali_sorouri2005
جمعه 11 اسفند 1385, 16:58 عصر
شما باید tabindex رو روی اون دکمه تنظیم کنید

Pioneers
جمعه 11 اسفند 1385, 22:43 عصر
یعنی چی؟
اگه منظورتون اینه که TabIndex دکمه یکی بیشتر از تکست باشه... که نشد.
در ضمن یادآوری میکنم : وب نه ویندوز

Pioneers
شنبه 12 اسفند 1385, 14:43 عصر
کسی نمیتونه کمک کنه؟

iman_22a
شنبه 12 اسفند 1385, 19:01 عصر
تابع تعیین دکمه پیش فرض



Private Sub SetDefaultButton(ByVal txt As System.Web.UI.WebControls.TextBox, ByVal defaultButton As System.Web.UI.WebControls.Button)
txt.Attributes.Add("onkeydown", "fnTrapKD(" + defaultButton.ClientID + ",event)")
End Sub

در لود صفحه دکمه Enter به عنوان پیش فرض باکس های شناسه کاربری و رمز عبور می شود.


Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.SetDefaultButton(Me.tbUsername, Me.btnLogin)
Me.SetDefaultButton(Me.tbPassword, Me.btnLogin)
End Sub

اسکریپت مخصوص که می توانید ان را در Source صفحه بنویسید یا در یک فایل script.js


function fnTrapKD(btn, event){

if (document.all){

if (event.keyCode == 13){

event.returnValue=false;

event.cancel = true;

btn.click();

}

}

else if (document.getElementById){

if (event.which == 13){

event.returnValue=false;

event.cancel = true;

btn.click();

}

}

else if(document.layers){

if(event.which == 13){

event.returnValue=false;

event.cancel = true;

btn.click();

}

}

}

Pioneers
یک شنبه 13 اسفند 1385, 00:28 صبح
ضمن تشکر
با کمی تفاوت نتیجه حاصل شد:



search_txt.Attributes.Add("onKeyPress", "doo(event)")
که doo تابع اسکریپتی زیر است:



function doo(e)
{
if(event.keyCode==13)
{
event.returnValue=false;
event.cancel=true;
form1.search_btn.click();
}
}

Alireza_Salehi
سه شنبه 15 اسفند 1385, 23:10 عصر
این کد هایی که دوستان نوشتند رو تست کردم هیچ کدومش کار نکرد!!!!!!؟؟؟؟؟

به جای این کار کنترل ها رو داخل یک Panel قرار بدید و خاصیت DefaultButton آن را تنظیم کنید(البته در ASP.NET 2).

Pioneers
دوشنبه 21 اسفند 1385, 09:16 صبح
don't confuse!
they work good.
i test it and am using!