ورود

View Full Version : سوال: کنترل فیلد های فرم



rash44
چهارشنبه 10 تیر 1388, 21:53 عصر
سلام
من با اسکریپت زیر فیلدهای فرم رو کنترل می کنم



<script language="javascript">
function newlevelmsg() {
if (document.newlevel.name[].value == ""){
alert('لطفا عنوان دوره آموزشی را وارد کنید');
return false;
}if (document.newlevel.name[].value.match(/[&<>a-zA-Z(-)(')(")_,:;*]+/)){
alert('لطفا برای عنوان دوره آموزشی از کاراکترهای غیر مجاز استفاده نکنید ');
return false;
}
}
</script>


توی بعضی از فرم فیلد ها رو بصورت آریاه تعریف می کنم مثل



<input type="text" name="name[]" size="20">


زمانی که فیلد رو به این صورت تعریف می کنم دیگه اسکریپت عمل نمی کنه
یعنی اینکه اسکریپت برای قیلد name[] عکی العمل نشون نمی ده

لطفا مشکل رو بر طرف کنید
ممنون

Galestian
پنج شنبه 11 تیر 1388, 08:49 صبح
سلام
هدفتون از اینکه بعضی از فیلد ها رو بصورت آرایه تهریف می کنید چیه ؟
آیا می خواهید تمامی فیلد های موجود در یک آرایه را با یک تابع اعتبار سنجی کنید ؟ در هر صورت برنامه بالا شکل صحیحش به این صورت است
به اندیس در اسکریپت و برداشتم [] از نام فیلد توجه کنید


<script language="javascript">
function newlevelmsg() {
if (document.newlevel.name[0].value == ""){
alert('لطفا عنوان دوره آموزشی را وارد کنید');
return false;
}if (document.newlevel.name[0].value.match(/[&<>a-zA-Z(-)(')(")_,:;*]+/)){
alert('لطفا برای عنوان دوره آموزشی از کاراکترهای غیر مجاز استفاده نکنید ');
return false;
}
}
</script>

و


<input type="text" name="name" size="20">


حالا اگر مثلا 3 تکست باکس یا همون input text داری و می خواهی این تابع هر سه را چک کنه می تونی اینجوری بنویسی



<script language="javascript">
function newlevelmsg() {
for(i=0;i<3;i++){
if (document.newlevel.name[i].value == ""){
alert('لطفا عنوان دوره آموزشی را وارد کنید');
return false;
}if (document.newlevel.name[i].value.match(/[&<>a-zA-Z(-)(')(")_,:;*]+/)){
alert('لطفا برای عنوان دوره آموزشی از کاراکترهای غیر مجاز استفاده نکنید ');
return false;
}
}
}
</script>


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

اینجوری


<form id="newlevel" >
<input type="text" name="name" size="20">
<input type="text" name="name" size="20">
<input type="text" name="name" size="20">
<input onclick="newlevelmsg()" id="Button1" type="button" value="button" />
</form>


موفق باشی

http://galestian.org