PDA

View Full Version : سوال: اشکال در استفاده از شیء form در جاوا اسکریپت هنگام استفاده از masterpage ها



Mostafa_Sabeti
سه شنبه 01 مرداد 1387, 20:02 عصر
من یک پروژه وب سایت بصورت مستر ایجاد کرده ام در داخل صفحه default که از مستر استفاده میکند میخواهم با استفاده از جاوا با انتخاب یک چک باکس یک دکمه فعال بشود ولی شیء form1 را در آن نمی شناسد.
کدهای زیر داخل اسکریپت و در فرم default نوشته شده است ولی از آنجایی که form1 در فایل مستر است در default شناخته نمیشود.
cAgree چک باکس مربوطه است و bAccessTop و bAccessBottom دکمه هایی هستند که باید با تایید چک باکس فعال شوند.


function cAgree_onclick() {
form1.bAccTop.disabled = !cAgree.checked;
form1.bAccBottom.disabled = !cAgree.checked;
}
لطفا راه حلی برای این مشکل ارایه دهید. با تشکر.

nazaninam
سه شنبه 01 مرداد 1387, 22:54 عصر
دوست عزیز این نحوه کد نوشتن جاوا اسکریپت را فراموش کن و از طریق متد Documnet.GetElemntbyID عمل کن
در ضمن کنترل های سرور ساید پس از Generate شدن تغییر نام می دهند بنابراین دلیلی نداره ID کنترل form1 شما با همان نام باقی مانده باشه چرا که form یک کنترل سرور ساید هست . همچنین در مورد سایر کنترل های سرور ساید .
پس روش شما غلطه ، روش درست به صورت زیر هست :
فرض می کنیم 2 تا Button و یک CheckBox داریم کد جاوا اسکریپت اصلاح شده :




function DoThis(B1,B2,Chk)
{

document.getElementById(B1).disabled = document.getElementById(Chk).checked;
document.getElementById(B2).disabled = document.getElementById(Chk).checked;

}



حالا کد زیر را داخل رویداد لود صفحه بنویس :




CheckBox1.Attributes.Add("onclick", "DoThis('" + Button1.ClientID + "','" + Button2.ClientID + "','" + CheckBox1.ClientID + "');")



موفق باشید

Mostafa_Sabeti
چهارشنبه 02 مرداد 1387, 10:01 صبح
از راهنماییت واقعا ممنونم دوست عزیز.
کنترلهایی که من بکار برده ام client side هستند (اشیاء Input) .
از طرف دیگر خصوصیت disabled برای document.getElementById(B1) و checked برای document.getElementById(Chk) وجود ندارد و کدهای فوق عمل نکرد.
البته من کنترلهای چک باکس و دکمه را Run as server کردم.:متفکر:

nazaninam
چهارشنبه 02 مرداد 1387, 23:51 عصر
دوست عزیز کد های من رو همونطور که هستند بکار ببر chk و b1 ورودی های تابع هستند !
در ضمن کنترل هارو به صورت کنترل ها asp.net بکار ببر نه html .
من این کدها رو نوشتم و تستش کردم کاملا عمل میکنه کمی تلاش کن