PDA

View Full Version : نمایش و عدم نمایش کنترل image از طریق کد های javascript



ali_mnkt
جمعه 10 دی 1389, 15:08 عصر
با سلام

من می خوام از طریق visible ، javascript یک کنترل image رو false و true کنم کد زیر رو نوشتم ولی جواب نداد


document.getElementById("ctl00_ContentPlaceHolder1_User_InsertControl1_imag e1").disabled = false;
document.getElementById("ctl00_ContentPlaceHolder1_User_InsertControl1_imag e1")disabled =true;

البته این رو هم بگم که image داخل یک userControl هست . خوب باید چکار کرد ؟

Kia_MLS
جمعه 10 دی 1389, 15:35 عصر
با سلام

من می خوام از طریق visible ، javascript یک کنترل image رو false و true کنم کد زیر رو نوشتم ولی جواب نداد


document.getElementById("ctl00_ContentPlaceHolder1_User_InsertControl1_imag e1").disabled = false;
document.getElementById("ctl00_ContentPlaceHolder1_User_InsertControl1_imag e1")disabled =true;

البته این رو هم بگم که image داخل یک userControl هست . خوب باید چکار کرد ؟

سلام
دوست عزیز با کد زیر میتونی یک عکس رو مخفی و یا نمایش بدی:



<asp:Image runat="server" ID="Myimg" ImageUrl="~/YourImage.bmp" />
<asp:Button runat="server" ID="btnHide" Text="Hide image" OnClientClick="return(HideImage())" />
<asp:Button runat="server" ID="btnShow" Text="Show image" OnClientClick="return(ShowImage())" />
<script language="javascript" type="text/javascript">
function HideImage() {
var img = document.getElementById("<%= Myimg.ClientID %>");
img.style.visibility = "hidden";
return (false);
}
function ShowImage() {
var img = document.getElementById("<%= Myimg.ClientID %>");
img.style.visibility = "Show";
return (false);
}
</script>

ali_mnkt
جمعه 10 دی 1389, 19:43 عصر
سلام
دوست عزیز با کد زیر میتونی یک عکس رو مخفی و یا نمایش بدی:



<asp:Image runat="server" ID="Myimg" ImageUrl="~/YourImage.bmp" />
<asp:Button runat="server" ID="btnHide" Text="Hide image" OnClientClick="return(HideImage())" />
<asp:Button runat="server" ID="btnShow" Text="Show image" OnClientClick="return(ShowImage())" />
<script language="javascript" type="text/javascript">
function HideImage() {
var img = document.getElementById("<%= Myimg.ClientID %>");
img.style.visibility = "hidden";
return (false);
}
function ShowImage() {
var img = document.getElementById("<%= Myimg.ClientID %>");
img.style.visibility = "Show";
return (false);
}
</script>


مرسی دوست عزیز از راهنماییتون اما یک مشگلی هست وقتی visible،image ش true باشه با کد زیر visible ش به false تغییر می کنه


function HideImage() {
var img = document.getElementById("<%= Myimg.ClientID %>");
img.style.visibility = "hidden";
return (false);
}

اما وقتی visible ش false باشه با کد زیر show نمی شه


function ShowImage() {
var img = document.getElementById("<%= Myimg.ClientID %>");
img.style.visibility = "Show";
return (false);
}

مشگل کجاست ؟

Kia_MLS
جمعه 10 دی 1389, 20:08 عصر
مرسی دوست عزیز از راهنماییتون اما یک مشگلی هست وقتی visible،image ش true باشه با کد زیر visible ش به false تغییر می کنه


function HideImage() {
var img = document.getElementById("<%= Myimg.ClientID %>");
img.style.visibility = "hidden";
return (false);
}

اما وقتی visible ش false باشه با کد زیر show نمی شه


function ShowImage() {
var img = document.getElementById("<%= Myimg.ClientID %>");
img.style.visibility = "Show";
return (false);
}

مشگل کجاست ؟

دوست من، هنگامی که Visible یک شی در سمت سرور false میشه، اون شی به سمت کلاینت فرستاده نمیشه :چشمک:
به عبارتی در شرایطی که شما توضیح دادین تابع javascript که من نوشتم شی مورد نظر رو پیدا نمیکنه که بخواد اون رو نمایش بده و خطا میده :افسرده:

پیشنهاد میکنم Visible این شی رو در سمت سرور false نکنید و نمایش یا عدم نمایش عکس رو به جاوااسکریپت بسپرید که مشکل شرح داده شده پیش نیاد.

موفق باشی

ali_mnkt
جمعه 10 دی 1389, 23:20 عصر
دوست من، هنگامی که Visible یک شی در سمت سرور false میشه، اون شی به سمت کلاینت فرستاده نمیشه :چشمک:
به عبارتی در شرایطی که شما توضیح دادین تابع javascript که من نوشتم شی مورد نظر رو پیدا نمیکنه که بخواد اون رو نمایش بده و خطا میده :افسرده:

پیشنهاد میکنم Visible این شی رو در سمت سرور false نکنید و نمایش یا عدم نمایش عکس رو به جاوااسکریپت بسپرید که مشکل شرح داده شده پیش نیاد.

موفق باشی


خوب دوست عزیز پیشنهاد شما چیه ؟ خلاصه این که من در صفحه ثبت نام کاربران وقتی که شخص username رو وارد می کنه من می رم چک می کنم که این username قبلا ثبت شده یا نه . اگه قبلا ثبت شده باشه که یک عکس و اگر ثیت نشده باشه یه عکس دیگه نمایش داده می شه من کدهای javascript رو در متد unblur یک textbox نوشتم خوب قاعدتا باید قبل از این که کاربر کاری انجام بده این عکس ها نشان داده نشوند و visibel اون ها false باشه خوب چطور می تونم پیاده سازی کنم ؟

Kia_MLS
شنبه 11 دی 1389, 07:41 صبح
خوب دوست عزیز پیشنهاد شما چیه ؟ خلاصه این که من در صفحه ثبت نام کاربران وقتی که شخص username رو وارد می کنه من می رم چک می کنم که این username قبلا ثبت شده یا نه . اگه قبلا ثبت شده باشه که یک عکس و اگر ثیت نشده باشه یه عکس دیگه نمایش داده می شه من کدهای javascript رو در متد unblur یک textbox نوشتم خوب قاعدتا باید قبل از این که کاربر کاری انجام بده این عکس ها نشان داده نشوند و visibel اون ها false باشه خوب چطور می تونم پیاده سازی کنم ؟

دوست من، حالا که صورت مسئله رو توضیح دادی متوجه شدم که این کارو واسه چه مسئله ای میخوای انجام بدی
شما چرا اینقدر مسئله رو واسه خودت سخت کردی؟ :متفکر:
چون Username در سمت سرور چک میشه، همونجا (یعنی سمت سرور) میتونی عکستو عوض کنی. اگه وجود داشت فلان عکس رو نشون بده اگه نداشت اون یکی رو
از خصوصیت ImageUrl عکس استفاده کن، اینجوری نیاز به 2تا کنترل Image هم نداری، با یکی کارت راه میوفته

اما اگه اصرار داری که با جاوا اسکریپت انجام بدی، Visible هر 2 تا عکس رو True بزار و نمایش یا عدم نمایش اونارو با جاوا اسکریپت مدیریت کن
حالا سوال اینجاست که در سمت سرور چطور جاوا اسکریپت مدیریت بشه؟
جوابش اینه:
برای نمایش دادن:


ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowImageFromServer", "ShowImage();", true);


برای عدم نمایش:


ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowImageFromServer", "HideImage();", true);

ali_mnkt
شنبه 11 دی 1389, 11:50 صبح
مرسی دوست عزیز از وقتی که می ذاری

خوب این کد ها رو باید در کدام قسمت قرار بدم ؟ آیا این کدها باید در load فرمی که میخوایم این چک انجام یشه باید قرار داد؟

یه سئوال دیگه هم که واسم به وجود لومده اینه که حالا بر فرض ما این چک رو کردیم و مشخص شد که کاربر قلا ثبت شده حالا چطور می تونیم بر اساس اون به کاربر اجازه postback شدن و ارسال اطلاعات رو ندیم تا زمانیکه اطلاعات رو نصحیح نکرده باشه ؟ خلاصه این که با زدن button مربوط به ثبت تا زمانیکه اطلاعات صحیح وارد نکرده کد های #C اجرا نشه؟

Kia_MLS
شنبه 11 دی 1389, 14:45 عصر
مرسی دوست عزیز از وقتی که می ذاری

خوب این کد ها رو باید در کدام قسمت قرار بدم ؟ آیا این کدها باید در load فرمی که میخوایم این چک انجام یشه باید قرار داد؟

یه سئوال دیگه هم که واسم به وجود لومده اینه که حالا بر فرض ما این چک رو کردیم و مشخص شد که کاربر قلا ثبت شده حالا چطور می تونیم بر اساس اون به کاربر اجازه postback شدن و ارسال اطلاعات رو ندیم تا زمانیکه اطلاعات رو نصحیح نکرده باشه ؟ خلاصه این که با زدن button مربوط به ثبت تا زمانیکه اطلاعات صحیح وارد نکرده کد های #C اجرا نشه؟

اون کدها رو در همان زمانی که Username رو چک میکنی بنویس، احتمالا در رویداد OnButton_Click میشه

در مورد سوال بعدیتون، چون دیتابیس در سمت سرور هست، شما راهی جز چک کردن Username در سمت سرور ندارید
حالا این عمل میتونه بوسیله تکنولوزی هایی مثل آژاکس یا JQuery انجام بشه که کاربر تصور کنه این اهمال در سمت کلاینت انجام میشه

نتیجه: در مورد چک کردن Username راهی برای جلوگیری از عدم ارسال اطلاعات به سرور وجود نداره

موفق باشی

ali_mnkt
یک شنبه 12 دی 1389, 00:28 صبح
اون کدها رو در همان زمانی که Username رو چک میکنی بنویس، احتمالا در رویداد OnButton_Click میشه

در مورد سوال بعدیتون، چون دیتابیس در سمت سرور هست، شما راهی جز چک کردن Username در سمت سرور ندارید
حالا این عمل میتونه بوسیله تکنولوزی هایی مثل آژاکس یا JQuery انجام بشه که کاربر تصور کنه این اهمال در سمت کلاینت انجام میشه

نتیجه: در مورد چک کردن Username راهی برای جلوگیری از عدم ارسال اطلاعات به سرور وجود نداره

موفق باشی

با سلام مجدد . من شاید در رابطه با سئوال دومم یکم بد گفتم . مثلا validator ها رو دید که وقتی مثلا یک textbox خالی هست اجازه رفتن به سرور رو نمی ده من یه چیزی تو اون مایه ها می خوام البته من username رو از طریق webservice چک می کنم و نتیجه رو هم از سرور می گیرم اما می خوام مثل validator ها عمل شه یعنی وقتی جواب برگشتی از سرور (که ajax ی هست ) بر می گرده و معلوم می شه که مثلا اون username قبلا ثبت شده دیکه دکمه ثبت کار نکنه تا زمانی که کاربر username ی رو که قبلا ثبت نشده رو وارد کنه

Kia_MLS
سه شنبه 14 دی 1389, 18:14 عصر
با سلام مجدد . من شاید در رابطه با سئوال دومم یکم بد گفتم . مثلا validator ها رو دید که وقتی مثلا یک textbox خالی هست اجازه رفتن به سرور رو نمی ده من یه چیزی تو اون مایه ها می خوام البته من username رو از طریق webservice چک می کنم و نتیجه رو هم از سرور می گیرم اما می خوام مثل validator ها عمل شه یعنی وقتی جواب برگشتی از سرور (که ajax ی هست ) بر می گرده و معلوم می شه که مثلا اون username قبلا ثبت شده دیکه دکمه ثبت کار نکنه تا زمانی که کاربر username ی رو که قبلا ثبت نشده رو وارد کنه

دوست عزیز، شما بعد از فراخوانی وب سرویس میتونی با یک if تشخیص بدی که اون دکمه ارسال اطلاعات فعال باشه یا نه
برای فعال یا غیر فعال کردن دکمه بوسیله جاوا در سمت کلاینت هم از نمونه کد زیر استفاده کن:


<asp:Button runat="server" ID="btnEnable" Text="Enable" OnClientClick="return(Enablebtn())" />
<asp:Button runat="server" ID="btnDisable" Text="Disable" OnClientClick="return(Disablebtn())"/>
<asp:Button runat="server" ID="btnSample" Text="Sample" />

<script language="javascript" type="text/javascript">
function Enablebtn() {
document.getElementById("<%= btnSample.ClientID %>").disabled = false;
return (false);
}

function Disablebtn() {
document.getElementById("<%= btnSample.ClientID %>").disabled = true;
return (false);
}

</script>


موفق باشی