ABA


"יוסטון ווי האב אJS פרובלם ...."
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #13642 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 13642
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק
   15:48   04.03.08   
אל הפורום  
  יוסטון ווי האב אJS פרובלם ....  
 
   הנה הקוד שאיתו אני בודק תקינות של של יצירת משתמש חדש באתר שלי
(די ערבי ואני יודע שהרבה דברים יכולתי לעשות "טוב יותר" , או יותר יעיל .

העניין שהקוד עבד עד היום שבדקתי.

מה שקורה כל בדיקה מעלה קאונטר ב 1, ברגע שהקאונטר מגיע ל "9" ,
בעצם 9 קריטריונים לאישור הרישום הוא אמור להחזר return true
ולעשות פונקצייה אחרת שהיא מוגדרת ב action ליצרת היוזר בפועל במסד נתונים .

הבעייה היא , שהקאונטר כן מגיע ל9 , אבל מסיבה כלשהי , לא עושה את הקטע של אם a=9 ... כלומר אם כל הקריטוריונים תקינים .

הנה הקוד :


function checkscript()
{
var a=0;
var kind='';
function check_us(kind,val)
{
if (val!='')
{
if (kind == 'user')
{
var chk= document.getElementById('user').value;
var url ='./App_Func/validate_user.php?username='+chk;
}
if (kind == 'email')
{
var chk= document.getElementById('email').value;
var url ='./App_Func/validate_user.php?email='+chk;
}

var xmlHttpN = xmlcr();

xmlHttpN.onreadystatechange = function()
{
if (xmlHttpN.readyState == 4 && xmlHttpN.status == 200)
{
var ajaxTextGet = xmlHttpN.responseText ;
if (kind=='user')
{ if(ajaxTextGet=='yes')
{
document.getElementById('ch_user').style.visibility='visible';
document.getElementById('ch_user').innerHTML='השם תפוס';
}
else
a++;
}
if (kind=='email')
{ if(ajaxTextGet=='yes')
{
document.getElementById('ch_email').style.visibility='visible';
document.getElementById('ch_email').innerHTML='הכתובת כבר קיימת';
}
else
a++;
}
}
}
xmlHttpN.open('GET', url, true);
xmlHttpN.send(null);
}
}
var n_pass = document.getElementById('pass').value;
var n_pass1 = document.getElementById('pass1').value;
if (n_pass != n_pass1)
{
document.getElementById('ch_pass').innerHTML='הסיסמאות לא תואמות';
document.getElementById('ch_pass1').innerHTML='';
document.getElementById('ch_pass').visibility='visible';
}
else
{
document.getElementById('ch_pass').innerHTML='';
document.getElementById('ch_pass1').innerHTML='';
a++;
}
for (i=0;i<4;i++)
{
var box = document.register.elements;
var aaa = box.name;
var test = 'ch_' + aaa;
test1 = document.getElementById(test);
var val = box.value;
var filter1 = /^()+()+()+()+$/;
if (aaa == 'user')
{
if (!(filter1.test(val)))
{test1.innerHTML='שם המשתמש לא חוקי';
test1.style.visibility='visible';
}
else
{
test1.innerHTML='';
check_us(aaa,val);
a++;
}
}

var filter = /^()+\@(()+\.)+({2,4})+$/;
if (aaa == 'email')
{
if (!(filter.test(val)))
{test1.innerHTML='האימייל לא חוקי';
test1.style.visibility='visible';}
else
{a++;
test1.innerHTML='';
check_us(aaa,val);}
}

if (!box.value)
{ test1.innerHTML='חסר';
test1.style.visibility='visible';
a--;}
else
{ if (aaa =='user')
if (val!='הכנס שם משתמש')
a++;

if (aaa =='email')
if (val!='הכנס את הדואר אלקטרוני')
a++;

if (aaa!='user' && aaa!='email')
a++;
}
}
if (a == '9')
{alert('tr'); return true;}
else
{alert('er'); alert(a); return false; }
}


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  המ.. ניחוש פרוע... אולי בגלל שאתה משווה int ל-string ? Ice Cold  04.03.08 15:57 1
     לא עוזר ... code_blue  04.03.08 16:06 2
         אממ MoonHunter 04.03.08 17:49 3
             זה הדיבוג שעשיתי ;-( code_blue  04.03.08 17:59 4

       
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   15:57   04.03.08   
אל הפורום  
  1. המ.. ניחוש פרוע... אולי בגלל שאתה משווה int ל-string ?  
בתגובה להודעה מספר 0
 
במקום a=='9' נסה פשוט a==9 ?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק
   16:06   04.03.08   
אל הפורום  
  2. לא עוזר ...  
בתגובה להודעה מספר 1
 
   גם אני חשבתי על זה ..
ב IE זה מראה לי שהגיע ל9 , ורק על ידי לחיצה נוספת על הלחצן צור
הוא מאפשר לי את זה (למרות שהקאונטר אומר 9)

ב FF לא עובד , לא משנה כמה לחיצות
וכמובן הקאונטר מראה 9

האתר
http//www.mulers.net/alb
לנסות "רישום".


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   17:49   04.03.08   
אל הפורום  
  3. אממ  
בתגובה להודעה מספר 2
 
   תקפיץ עם alert את הערך של a
אחרי זה תיצור כמה תנאים אם a גדול מ9 תקפיץ alert אחרת תקפיץ alert אחר
דיבוג קטן לא יזיק.

תגיד לי מה התשובות שתקבל


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק
   17:59   04.03.08   
אל הפורום  
  4. זה הדיבוג שעשיתי ;-(  
בתגובה להודעה מספר 3
 
   כנס ללינק שנתתי להרשמה
אתה תראה שזה באמת מה שעשיתי
כל פעם הוא נותן את הערך של A , במקביל יש לי אלרט של TR a=9
ו er לכל דבר אחר


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net