عند عمل 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 ؟