PDA

View Full Version : غیر فعال شدن textbox



niloo17
یک شنبه 16 آبان 1389, 18:52 عصر
سلام دوستان
من یک فرم دارم با چند textbox که همه اینا در یک updatepanel قرار داره همه textbox خاصیت autopostback را true کردم و رویداد textchange همه یک فرمول را اجرا می کنه مشکل اینجاست که بعد از وارد کردن مقدار در اولین کنترل بقیه کنترل ها غیر فعال می شه و نمی شه مقداری در انها وارد کرد هیچ دستوری برای غیر فعال شدن هم نننوشتم
ممنون می شم اگه راهنماییم کنید

majnun
دوشنبه 17 آبان 1389, 01:53 صبح
دوست من علم غیب که نداریم ..

کد صقحه را بزار ببینیم مشکل از کجاست ...

یا علی

niloo17
دوشنبه 17 آبان 1389, 08:10 صبح
سلام این نمونه ای از برنامه منه
فکر کنم باید از javascript استفاده کنم

hamid_shrk
دوشنبه 17 آبان 1389, 08:24 صبح
این که داره کار می کنه؟
text box ها هم غیر فعال نمی شن!!!!

Kia_MLS
دوشنبه 17 آبان 1389, 08:40 صبح
سلام دوستان
من یک فرم دارم با چند textbox که همه اینا در یک updatepanel قرار داره همه textbox خاصیت autopostback را true کردم و رویداد textchange همه یک فرمول را اجرا می کنه مشکل اینجاست که بعد از وارد کردن مقدار در اولین کنترل بقیه کنترل ها غیر فعال می شه و نمی شه مقداری در انها وارد کرد هیچ دستوری برای غیر فعال شدن هم نننوشتم
ممنون می شم اگه راهنماییم کنید

سلام
دوست عزیز برنامه شما را اجرا کردم
textbox های شما غیر فعال نمیشوند
منطق برنامه شما دچار اشکال هست
عضو ختثی در عمل ضرب عدد 1 هست نه صفر
مشکل زمانی بروز میکند که کاربر بعد از وارد کردن مقدار در textbox اول، در مرحله بعد سراغ textbox سوم و یا چهارم برود
و یا اینکه از همان ابتدا به جای وارد کردن مقدار در textbox اول، مقدار مورد نظر را در textbox دوم، سوم و یا چهارم وارد کند.
از آنجایی که مقدار اولیه Lable های شما صفر است و شما در فرمولهاتون مقدار اون Lable ها را دخیل کردین، در حالات بالا نتیجه صفر خواهد بود.

niloo17
دوشنبه 17 آبان 1389, 10:14 صبح
سلام
مشکل اینجاست که وقتی یک فرمول را اجرا می کنم زمانی که به سرور می فرسته و بر می گرده زیاده و برای یه مدت نمی شه در text box مقداری وارد کرد این برنامه که من گذاشتم فقط یه نمونه است و فرمول اصلی مشکلی نداره
اگر بخوام از javascript استفاده کنم چه جوری می تونم فرموا را بنویسم

Kia_MLS
دوشنبه 17 آبان 1389, 12:26 عصر
سلام
مشکل اینجاست که وقتی یک فرمول را اجرا می کنم زمانی که به سرور می فرسته و بر می گرده زیاده و برای یه مدت نمی شه در text box مقداری وارد کرد این برنامه که من گذاشتم فقط یه نمونه است و فرمول اصلی مشکلی نداره
اگر بخوام از javascript استفاده کنم چه جوری می تونم فرموا را بنویسم

آري، با جاوا اسكريپت امكانش هست. فقط مقدار اوليه ليبلها رو به يك تغيير بده



<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>

</head>
<body>

<script language="javascript" type="text/javascript">
function OnBlurTextBox(txt) {
var val = txt.value;
if (val != '')
Formula();
}

function Formula() {
var txt1 = document.getElementById("<%= TextBox1.ClientID %>");
var txt2 = document.getElementById("<%= TextBox2.ClientID %>");
var txt3 = document.getElementById("<%= TextBox3.ClientID %>");
var txt4 = document.getElementById("<%= TextBox4.ClientID %>");

var lbl1 = document.getElementById("<%= Label1.ClientID %>");
var lbl2 = document.getElementById("<%= Label2.ClientID %>");
var lbl3 = document.getElementById("<%= Label3.ClientID %>");
var lbl4 = document.getElementById("<%= Label4.ClientID %>");

if (txt1.value != '')
lbl1.innerText = (235 * txt1.value);

if (txt2.value != '')
lbl2.innerText = (txt2.value * lbl1.innerText);

if (txt3.value != '')
lbl3.innerText = (lbl2.innerText * txt3.value);

if (txt4.value != '')
lbl4.innerText = (lbl3.innerText * txt4.value);
}

</script>
<form id="form1" runat="server">
<div>
<asp:UpdatePanel runat="server" ID="UpdatePanel">
<ContentTemplate>

<table width="100%">
<tr>
<td>
<asp:TextBox ID="TextBox1" runat="server"
OnBlur="OnBlurTextBox(this)"></asp:TextBox>
</td>
<td>
<asp:Label ID="Label1" runat="server" Text="1"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="TextBox2" runat="server" OnBlur="OnBlurTextBox(this)"
ontextchanged="TextBox1_TextChanged"></asp:TextBox>
</td>
<td>
<asp:Label ID="Label2" runat="server" Text="1"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="TextBox3" runat="server" OnBlur="OnBlurTextBox(this)"
ontextchanged="TextBox1_TextChanged"></asp:TextBox>
</td>
<td>
<asp:Label ID="Label3" runat="server" Text="1"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="TextBox4" runat="server" OnBlur="OnBlurTextBox(this)"
ontextchanged="TextBox1_TextChanged"></asp:TextBox>
</td>
<td>
<asp:Label ID="Label4" runat="server" Text="1"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
</td>
<td>
&nbsp;</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>