الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الكنترول Input Type=checkbox

بدأه sunbol في 13 يونيو 2009 · 2 رد · 421 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخواني الكرام

السلام عليكــم ورحمـة الله وبركاتــه ،،

من فترة وانا احاول ان اجد حل لمشكله الصراحه اخدت مني وقت كثير ماله داعي

المشكله باختصار تتمثل في جعل كنترول من نوع

<input type="checkbox" />

يعمل في كل من Client Side والـ Server Side

يعمل في Client Side لاني اريد ان استخدم كود جافا اسكربت

ويعمل في Server Side لاني اريد ان احفظ القيمة النهاية له في قاعده البيانات

يمكن احد الاخوه يقول استخدم runat="server" لكي اتمكن من حفظ البيانات

ولكن ان استخدمه فانه للاسف كود الجافا اسكربت لن يعمل معي

كما ان العكس صحيح ايضا

راح اضع مثال بسيط يوضح الفكره النهائية ولكن قبل المثال ساوضح نقطه بسيطه

قد يتسال البعض لماذا بالاساس استخدمت input type="checkbox دون عن RadioButton

مع انها تسهل الكثير في عملي

والسبب هو التالي :

انني سوف استخدمها اكثر من مره يعني كل اربعه مرتبطه ببعض ويجب ان لا تواثر على الباقي

ببساطه لانو الصفحه عباره عن برمجه استبيان (الجدمة - الجودة - النظافة .الخ)

كل نقطه من النقاط السابقه تحتوي على عده خيارات

الكود هو التالي:

<tr>
	 <td width="74" align="right" valign="top" class="txt2" style="padding-top:2px ">
	 <b class="txt1"> Services:
		 </b></td>
	<td width="58" align="center" > <input  id="services_exc"	type="checkbox"  onclick="return services_exc_onclick();false" />
	 </td>
	 <td width="58" align="center" > <input id="services_good"  type="checkbox" onclick="return services_good_onclick()" />


	 </td>
	 <td width="58" align="center" > <input id="services_ok"   type="checkbox" onclick="return services_ok_onclick()" />
	 </td>
	 <td width="58" align="center" > <input  id="services_bad"   type="checkbox" onclick="return services_bad_onclick()" />
	 </td>
	 </tr>
	 <tr>
	 <td width="74" align="right" valign="top" class="txt2" style="padding-top:2px ">
	 <b class="txt1"> Food:</b></td>

	 <td width="58" align="center" > <input id="food_exc" type="checkbox" onclick="return food_exc_onclick();false"/>
	 </td>
	 <td width="58" align="center" > <input id="food_good" type="checkbox" onclick="return food_good_onclick()"/>
	 </td>
	 <td width="58" align="center" > <input id="food_ok" type="checkbox"  onclick="return food_ok_onclick()" />
	 </td>
	 <td width="58" align="center" > <input id="food_bad" type="checkbox" onclick="return food_bad_onclick()"/>
	 </td>
	 </tr>

اما كود الجافا اسكريبت فهو التالي:

<script language="javascript" type="text/javascript" >


if(document.getElementById("h").checked==true)

function services_exc_onclick() {
if (document.getElementById("services_exc").checked==true){
document.getElementById("services_good").checked =false;
document.getElementById("services_ok").checked =false;
document.getElementById("services_bad").checked =false;
}
}

function services_good_onclick() {
if (document.getElementById("services_good").checked==true){
document.getElementById("services_exc").checked =false;
document.getElementById("services_ok").checked =false;
document.getElementById("services_bad").checked =false;
}
}

function services_ok_onclick() {
if (document.getElementById("services_ok").checked==true){
document.getElementById("services_exc").checked =false;
document.getElementById("services_good").checked =false;
document.getElementById("services_bad").checked =false;
}
}

function services_bad_onclick() {
if (document.getElementById("services_bad").checked==true){
document.getElementById("services_exc").checked =false;
document.getElementById("services_good").checked =false;
document.getElementById("services_ok").checked =false;
}
}
//_____________________________________________________

function food_exc_onclick() {
if (document.getElementById("food_exc").checked==true){
document.getElementById("food_good").checked =false;
document.getElementById("food_ok").checked =false;
document.getElementById("food_bad").checked =false;
}
}

function food_good_onclick() {
if (document.getElementById("food_good").checked==true){
document.getElementById("food_exc").checked =false;
document.getElementById("food_ok").checked =false;
document.getElementById("food_bad").checked =false;
}
}

function food_ok_onclick() {
if (document.getElementById("food_ok").checked==true){
document.getElementById("food_exc").checked =false;
document.getElementById("food_good").checked =false;
document.getElementById("food_bad").checked =false;
}
}

function food_bad_onclick() {
if (document.getElementById("food_bad").checked==true){
document.getElementById("food_exc").checked =false;
document.getElementById("food_good").checked =false;
document.getElementById("food_ok").checked =false;
}
}
</script>

الى هنا مافي اي مشاكل وكل شي مائه مائة ولكن عندما اجي واكتب كود تمهيدا لحفظ البيانات في الداتا بيس تظهر الاخطاء

الكود هو التالي:

DBOperations db = new DBOperations();
			string val_services, val_food, val_courtesy, val_cleanliness, val_taste, val_smile, val_visit;

			if (this.services_exc.checkbox == true) { val_services = "excellent"; }
			else if (this.services_good.checkbox == true) { val_services = "good"; }
			else if (this.services_ok.checkbox == true) { val_services = "ok"; }
			else if (this.services_bad.checkbox == true) { val_services = "bad"; }
			else val_services = DBNull.Value;

			if (this.food_exc.checkbox == true) { val_food = "excellent"; }
			else if (this.food_good.checkbox == true) { val_food = "good"; }
			else if (this.food_ok.checkbox == true) { val_food = "ok"; }
			else if (this.food_bad.checkbox == true) { val_food = "bad"; }
			else val_food = DBNull.Value;

اكرر استخدمت runat="server" ولكن للاسف حدث الجافا اسكريبت لايعمل

ولو ما استخدمتها فان الحدث الاخير الخاص بتحليل الكود تمهيدا لحفظه لا يعمل

36cm7.gif
#2

الذي يحدث هو أن اسم الكونترول الذي يستخدمه الجافاسكربت سيتغير. يمكن معرفة اسم الكونترول الجديد عن طريق food_exc.ClientID و هو الاسم الذي يجب استخدامه في أي كود جافاسكربت يتعامل مع الكونترول.

#3

شكرااستاذنا الكريم الله يجعلها في ميزان

الصراحه معلومه جديده انو الكنترول يتغير اسمه عند اضافة runat="server

الف شكر مرة اخرى اخي الكريم

36cm7.gif

مواضيع مشابهة