ABA


"בעייה עם סקריפט של JS ..."
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #13508 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 13508
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק, 14 נקודות
   13:59   30.01.08   
אל הפורום  
  בעייה עם סקריפט של JS ...  
 
   ערכתי לאחרונה בתאריך 30.01.08 בשעה 14:07 בברכה, code_blue
 
בעקרון עשיתי סקריפט עובד מעולה ...
רציתי להוסיף בו קצת AJAX , פתאום הכל הלך פארש...

הנה הקוד הכללי :
סימנתי את השורה הבעייתית , כשאני מוסיף את זה , זה פשוט ממשיך
ולא עושה שום בדיקה .


function check_us(chk)
{
if (chk == 'user')
var url ='validate_user.php?username='+ chk;
if (chk == 'email')
var url ='validate_user.php?email='+ chk;

var xmlHttp;
if(window.XMLHttpRequest)
xmlHttp = new XMLHttpRequest();
else if(window.ActiveXObject)
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');

xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
if (xmlHttp.responseText =='yes')
{document.getElementById('ch_user').innerHTML='השם בשימוש';
a++;
}

}
}
xmlHttp.open('POST', url, true);
xmlHttp.send(null);
}

function checkscript()
{
var a='0';
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 filter1 = /^()+()+()+()+$/;
if (aaa == 'user')
{
check_us(aaa);

if (!(filter1.test(box.value)))
{test1.innerHTML='שם המשתמש לא חוקי';
test1.style.visibility='visible';}
else
{test1.innerHTML='';
a++;}
}

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

if (!box.value)
{ test1.innerHTML='חסר';
test1.style.visibility='visible'; }
else
{ a++;}
}

if (a=='8')
return true;
else
return false;
}


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  לא הבנתי משהו akoka 30.01.08 15:55 1

       
akoka

דרג אמינות חבר זה
   15:55   30.01.08   
אל הפורום  
  1. לא הבנתי משהו  
בתגובה להודעה מספר 0
 
   חסר לך פרמטר בפונקציה של האAJAX אם שמתי לב כי במשתנה chk אתה שולח type של בדיקה ולא את הנתון עצמו נכון ?

אז אתה צריך להוסיף נתון שנקרא לו נגיד param שיישמש בתור ארגומנט,שנשלח אל הדף שמבצע את הבדיקה זה אמור להראות משו כזה


function check_us(chk,param)
if (chk == 'user')
var url ='validate_user.php?type=user&value='+ param;
if (chk == 'email')
var url ='validate_user.php?type=email&value='+ param;

בדף PHP אתה עושה if קטן שבודק אם הtype=user אז הוא מבצע בדיקה על הuser ואם הtype=email הוא מבצע בדיקה על האימייל שים לב שparam מכיל את הvalue של שניהם.


אגב אני לא אוהב שעושים ככה בonreadystatechange שכותבים function(){}
תבנה פונקציה תקרא לה statechange_handler ופשוט תעשה בה הכול ככה יהיה לך יותר קל להשתלט על הקוד.

בהצלחה.


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

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

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



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