PDA

View Full Version : قابلیت Enter در Editbox



eL2rado
شنبه 06 شهریور 1389, 22:36 عصر
سلام بر همه اساتید
میخوام وقتی کلید اینتر در Textbox زده شد، اشاره گر روی textbox بعدی بره و دوباره با زدن اینتر روی button(لاگین) برود.به نظر شما با چه کدی ممکنه؟(تو C#.NET کار می کنم). ممنون میشم کمکم کنید

kohyar
یک شنبه 07 شهریور 1389, 14:45 عصر
اينكار رو بايد با جاوااسكرپت انجام بدي
اگر اشتباه نكنم بايد onkeypress رو چك كني اگر مساوي اينتر بود فوكس رو به فيلد بعدي ببري

eL2rado
یک شنبه 07 شهریور 1389, 18:58 عصر
اينكار رو بايد با جاوااسكرپت انجام بدي
اگر اشتباه نكنم بايد onkeypress رو چك كني اگر مساوي اينتر بود فوكس رو به فيلد بعدي ببري
اتفاقا مشکل همینجاست که تو ASP.NET این evente KeyPress وجود نداره
تو خیلی از سایتها و فروم های خارجی هم گشتم ولی هیچ جواب کاربردی توش نبود.
کسی نمیدونه واقعا؟؟

kohyar
دوشنبه 08 شهریور 1389, 09:25 صبح
دوست عزيز اين مشكل ربطي به asp.net نداره
اصلا شما فكر كن داري توي يك صفحه html ساده كه داراي يك فرم با چند تا تكس باكس هستش اينكار رو انجام ميدي
onkeypress و يا تابع مشابه آن مال جاوااسكريپت هستش

eL2rado
سه شنبه 09 شهریور 1389, 03:16 صبح
بالاخره تونستم این کارو انجام بدم ولی به یه مشکل جدید برخوردم. وقتی از Masterpage استفاده نمیکنم، این کد جواب میده . یعنی این کد :


<%@ Page Language="C#‎" AutoEventWireup="true" CodeFile="testing2.aspx.cs" Inherits="testing2" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script type="text/javascript" language="javascript">
function clickButton(e) {
var evt = e ? e : window.event;
if (evt.keyCode == 13) {
document.getElementById("Text2").focus();
return false;
}
}
</script>

</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="Text1" runat="server" onkeypress="return clickButton(event);"></asp:TextBox>
<asp:TextBox ID="Text2" runat="server"></asp:TextBox>
</form>
</body>
</html>
ولی وقتی از Master page استفاده میکنم این ارور رو میده:
Microsoft JScript runtime error: 'document.getElementById(...)' is null or not an object

قسمت <script> رو تو masterpage می نویسم و textboxها که تو صفحه مربوط به خودشون تو content place holder هستند.
به نظر شما مشکل از کجاست؟
به نطر شما باید ContentPlaceHolder1 رو هم getElementById کنیم تا اینکه Text2 رو بشناسه؟

eL2rado
سه شنبه 09 شهریور 1389, 22:42 عصر
بالاخره یافتم


document.getElementById('ctl00_ContentPlaceHolder1 _txtPassword').focus();

تقصیر همین یه خط کد بود