ورود

View Full Version : سوال: جلوگیری از PostBack



mehdi99
پنج شنبه 05 آبان 1390, 17:16 عصر
سلام به همه دوستان
من یک فرم دارم در یک قسمت می خوام بر اساس انتخاب کاربر TextBox ها فعال باشه یا نشه.
شرایط
1- نمی خوام با انتخاب رادیو باتن ها فرم PostBack شود.
2- از JAVA Script استفاده کردم ولی هربار که در قسمت های دیگر فرم پست بک می شود کد جاوا اجرا می شود.
و حالت قبلی فرم از بین می رود.

77094

این هم کدهای جاوا اسکریپت هست.

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script type="text/javascript" language="javascript">
function DesibleIELTS(status) {
if (status == "IELTS") {
document.getElementById('<%=txtIELTSCentreName.ClientID%>').disabled = true;
document.getElementById('<%=txtGradeofIELTS.ClientID%>').disabled = true;
document.getElementById('<%=DDLDateofIELTSMonth.ClientID%>').disabled = true;
document.getElementById('<%=DDLDateofIELTSYear.ClientID%>').disabled = true;
}
else if (status == "TEF") {
document.getElementById('<%=txtTEFCentreName.ClientID%>').disabled = true;
document.getElementById('<%=txtGradeofTEF.ClientID%>').disabled = true;
document.getElementById('<%=DDLDateofTEFMonth.ClientID%>').disabled = true;
document.getElementById('<%=DDLDateofTEFYear.ClientID%>').disabled = true;
}

hjran abdpor
پنج شنبه 05 آبان 1390, 17:38 عصر
باید از تابع ClientcallBack استفاده کنید اقای راد در این مورد یه مقاله نوشتن بخونیدش.

چرا از اجاکس استفاده نمیکند؟

mehdi99
پنج شنبه 05 آبان 1390, 17:59 عصر
منظورت استفاده از Ajax استفاده از UpdatePanel است؟
به نظرت از لحاظ سرعت و خود این Page یی که من دارم خیلی سنگینه استفاده از UpdatePanel سنگین تر نمی کنه؟ و می خوام این قسمت رو از خود کامپیوتر کاربر یعنی Client Side باشه. اگه راه دیگری هست بگید

ricky22
پنج شنبه 05 آبان 1390, 18:07 عصر
سلام.
از jQuery استفاده کنید.
$(document).ready(function () {
$('#radio_button').click(function() {
if('#radio_button').is(':checked')) { $("#textbox").attr("disabled", true); }
});
});

البته کدی که من نوشتم فقط یک مثال درباره نحوه چگونگی کار هست.
--
لطفا به جاوااسکریپت نگویید JAVA !
-----------------

چرا از اجاکس استفاده نمیکند؟لزومی به استفاده از ای جکس نمی باشد .

hjran abdpor
پنج شنبه 05 آبان 1390, 18:22 عصر
با سلام دوباره.
اگه صفحه تون سنگیه از اجاکس استفاده نکیند، به قول دوستمون از جی کوئری استفاده کنید!

mehdi99
پنج شنبه 05 آبان 1390, 18:54 عصر
سلام.
از jQuery استفاده کنید.
$(document).ready(function () {
$('#radio_button').click(function() {
if('#radio_button').is(':checked')) { $("#textbox").attr("disabled", true); }
});
});

البته کدی که من نوشتم فقط یک مثال درباره نحوه چگونگی کار هست.
--
لطفا به جاوااسکریپت نگویید JAVA !
-----------------
لزومی به استفاده از ای جکس نمی باشد .

------------------------------------------------------------------
سلام دوست عزیز
سئوال من این است که مشکل کد Java Script :بامزه: که من استفاده می کردم این است که در هر بار PostBack شدن صفحه کد Java Script هم اجرا میشود وقتی Break point گذاشتم اینو فهمیدم.
اگه از کد شما jQuery استفاده کنم فقط می خوام یک بار موقعی که روی Radio Button کلیک بشه کار کنه. و بار هر بار Post Back وضعیت حفظ شود. به نظرت این روشت با jQuery یک بار اجرا می شه ؟

s_ahmadneya
پنج شنبه 04 اسفند 1390, 12:57 عصر
البته از jquery , می توانید استفاده کنید اما ااگر در رویداد OnClientClick بصورت زیر بنویسید و خروجی تابع جاوا اسکریپت false باشد postback نمی شود واگر خروجی true باشد انوقت تابع در onclick() هم اجرا می شود

<asp:Button ID="Button1" Text="تبدیل نوع پرونده ها" runat="server"
OnClientClick="return functionjavascript()"
OnClick="Button1_click" "