PDA

View Full Version : اولویت کنترل ها در asp.net



kh1387
شنبه 14 مهر 1397, 15:58 عصر
با سلام
بنده صفحه وبی طراحی کرده ام که کاربر باید در یک textBox متنی را تایپ و سپس بر روی دکمه جستجو کلیک کند. حال می خواهم وقتی کاربر در textBox متنی را وارد کرد، با فشردن کلید اینتر و بدون زدم دکمه جستجو، اقدام به جستجو نماید.
خواهشا راهنمایی بفرمایید.

kh1387
شنبه 14 مهر 1397, 18:33 عصر
با سلام
گفتم شاید برخی دوستان همین سوال رو داشته باشند لذا پاسخ رو در اینجا می ذارم:

راه اول: در page_load صفحه دو کد زیر رو می نویسیم

Page.Form.DefaultButton = Button1.UniqueID;
Page.Form.DefaultFocus = TextBox1.UniqueID;

راه حل دوم که بهتر است اینه که کنترل ها رو داخل یک Panel قرار داده و در بخش کدهای html دیفالت رو روی باتن تنظیم می کنیم.

Tekyegah
یک شنبه 15 مهر 1397, 23:09 عصر
سلام


function checkEnter(nextFieldID, e) {
var characterCode;
if (e && e.which) {
e = e;
characterCode = e.which;
} else {
e = e;
characterCode = e.keyCode;
}
if (characterCode == 13) {
document.getElementById(nextFieldID).focus();
return false;
} else {
return true;
}
}

این کد جاوا اسکریپت رو به صفحه اضافه کنید

سپس :
توی هر قسمتی ( txtbox ، listbox و... ) این رویداد رو اضافه کنید :

onkeydown="checkEnter('login_password', event)"

یعنی میشه ( مثلا ) :

<input id="login_uname" type="text" class="form-control" dir="ltr" placeholder="نام کاربری" onkeydown="checkEnter('login_password', event)" autofocus="autofocus" autocomplete="off" />

میره به جایی که id اون : login_password باشه