PDA

View Full Version : سوال: اجرای کوری از شی تکست باکس که روی جدول کوری سلکت میزند؟(اشکال در خاصیت تکست چینگ)



hamed_hossani
چهارشنبه 23 فروردین 1391, 23:23 عصر
سلام
من در سایتم ، از تکست باکس استفاده کردم برای گرفتن شماره دانشجویی و نمایش اطلاعات
وقتی که تعداد ان به 9عدد رسید اطلاعات را از جدول دیتابیس گرفته و در تکست باکس ها نشان می دهد و یک پنل را فعال می کند
وقتی که دکمه ثبت را زدم پنل غیر فعال شده .
وقتی می خواهم دوباره چک کنم ببینم اطلاعات ثبت شده ،در تسکت باکس شماره دانشجویی اینتر می کنم، جواب نمی گیرم!
باید شماره دانشجویی را عوض کنم و اینتر بزنم ،دانشجویی دیگر را که نشان داد ،دوباره شماره دانشجویی مورد نظرم را بزنم تا اطلاعات را از جدول بیارد و در نکست باکس ها نشان دهم
در رویداد های تکست باکس فقط تکست چینج است
http://up98.org/upload/server1/02/h/t98rd3dh3h9e5f8pff1l.gif

http://up98.org/upload/server1/02/h/ni5qoniwokenu2m4tjdp.gif
سوال ؟ چکار کنم که کاربر با وارد کردن شماره دانشجویی و زدن اینتر بتواند اطلاعات را از جدول بگیرد؟در تکست چینچ فقط بار اول می تواند !
با تشکر

sarapepors
پنج شنبه 24 فروردین 1391, 00:26 صبح
خوب چون شما کد رو در textChange مینویسید از اسمش معلومه دیگه وقتی تکستش چنج میشه کدی که در این رویداد نوشتید اجرا میشه اگر تغییری نباشه پس اصلا ریدادی اتفاق نیفتاده

d_derakhshani
پنج شنبه 24 فروردین 1391, 01:24 صبح
جواب sarapepors کاملا درسته. اینتر که text change نیست. اما اگه می خواید عملکرد سایت تون بالا بره از JQuery واسه اینکار استفاده کنید.

hamed_hossani
پنج شنبه 24 فروردین 1391, 02:04 صبح
سلام
ممنون از پاسختون
در مورد جی کوری میشه یک کمک بدید:لبخند:

hamed_hossani
جمعه 25 فروردین 1391, 14:32 عصر
من این کد رو پیدا کردم!
<input type="text" id="txtSearch" onkeydown="if (event.keyCode == 13) document.getElementById('btnSearch').click()"/>
<input type="button" id="btnSearch" value="Search" onclick="doSomething();" />

و
http://www.mkyong.com/jquery/how-to-check-if-an-enter-key-is-pressed-with-jquery/



بلد نیستم باهاش کار کنم

d_derakhshani
شنبه 26 فروردین 1391, 11:35 صبح
<script src="Scripts/jquery-1.4.1.js" language="javascript" />
<script type="text/javascript" >
var $j = jQuery.noConflict();
$j(document).ready(function() {

$j("#<%=Textbox1.ClientID %>").blur(function() {
$j.ajax({
type: "POST",
url: "YourPage.aspx/CheckUserName",
data: "{'userName':'" + $j("#<%=Textbox1.ClientID %>").val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(message) {

if (message.d == true) {
$j("#spanChecking").css({ "color": "red", "font-weight": "bold", "font-size": "small",
"padding-left": "15px" });

$j("#spanChecking").text("نام کاربری شما قبلا استفاده شده است")
}
else {
$j("#spanChecking").css({ "color": "green", "font-weight": "bold", "font-size": "small",
"padding-left": "15px" });
$j("#spanChecking").text("نام کاربری شما قابل قبول است")


}

},

error: function(errormessage) {

$j("#spanChecking").text("بررسی با خطا مواجه شد");
}
});
});
});

</script>




این کد هم در صفحه Aspx بنویسید:


public static bool CheckUserName(string userName)
{
if (Membership.GetUser(userName) == null)
return true;
else
return false;
}

دقت کنید یک تگ از نوع span با id برابر با spanChecking در جلوی textbox تون قرار داره

alonemm
شنبه 26 فروردین 1391, 12:23 عصر
باسلام:
اگر نمیخواید از jquery استفاده کنید:

میتونید پس از گرفتن ID از تکس باکس مربوطه در اولین بار تکس باکس رو خالی کنید و به شکل غیر فعال دربیارید و سپس پس از زدن دکمه ثبت تکس باکس رو فعال کنید و فکوس رو به این کنترل بدید.
در طی مراحل بالا هم میتونید برای نمایش ID مورد نظر از یک کنترل لیبل استفاده کنید.




موفق باشید.

hamed_hossani
یک شنبه 27 فروردین 1391, 01:27 صبح
مشکلم حل شد
با تشکر