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

سؤال عن المتغيرات في جافا سكريبت

مغلق
بدأه ashraf_gawdat في 15 يونيو 2006 · 1 رد · 390 مشاهدة · في منتدى تصميم صفحات الويب
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عند عمل validation للفورم أقوم بكتابة JavaScript function بحيث تقوم بذلك عن طريق المرور على كل text field والتأكد من أن البيانات بها مضبوطة.

المشكلة تكمن حينما حاولت وضع for loop في الـ function بحيث تمر بشكل أوتوماتيكي على الـ fields ، فقمت بكتابة

for (i=0; i<=5; i++)
If (form.'text'+i.value='')
{
alert('Please enter a valid quantity.');
event.returnValue=false;
}

حيث أسماء الـ text fields هكذا: text1, text2 .. إلخ. ولكنني وجدت أنه لا يقبل وضع أسماء متغيرات بدلا من الاسم المباشر للـ field . وحينما حاولت تجربة الأمر بطريقة أخرى هكذا:

for (i=0; i<=5; i++)
var name='text'+i;
If (form.name.value='')
{
alert('Please enter a valid quantity.');
event.returnValue=false;
}

بحيث يكون ما هو موجود مكان الاسم هو متغير فقط وليس جمعا لـstring على متغير، ولكن الأمر لم ينجح أيضا.

هل هناك حل لهذه المشكلة حيث أنه لا يمكن كتابة أسماء جميع الحقول بطريقة مباشرة في الـ function ؟

تم تعديل هذه المشاركة بواسطة ashraf_gawdat في 15 يونيو 2006 في 16:07

#2

نعم هناك حل باستعمال array:

1
<input type="text" name="field" id="field">

2
<input type="text" name="field" id="field">

3
<input type="text" name="field" id="field">

او اعتقد

1
<input type="text" name="field[]" id="field[]">

2
<input type="text" name="field[]" id="field[]">

3
<input type="text" name="field[]" id="field[]">

وكود جافاسكربت (من عقلي-قد لا يعمل):

for (i=0; i<=5; i++){
	if (document.form_name.field.value == '') {
		alert('Please enter a valid quantity for field number:'+i+'.');
		event.returnValue=false;
	}
}

تم تعديل هذه المشاركة بواسطة aziz2598 في 16 يونيو 2006 في 05:23

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…