ABA


"בעיית תאימות JS מול השועל"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #13624 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 13624
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק
   20:10   28.02.08   
אל הפורום  
  בעיית תאימות JS מול השועל  
 
   או שהשועל (FF) לא אוהב AJAX , או שאני לא כותב AJAX תקני
או שכל התשובות נכונות

ב IE וMAXTON עובד מעולה!

הנה הקוד של הדף


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<script type='text/javascript' src='./App_Func/user_reg.js'></script>
<link rel='stylesheet' type='text/css' href='./App_Func/css.css'>
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
<title>mulers.net</title>
</head>
<body class='body_t center' style='height:400px;border:0px' >
<div id='final_reg'>

<form action='javascript:final();' method='post' name='register' id='register1' >
<table style='text-align:right;' class='center' dir='ltr' >
<tr>
<td id='ch_user' class='new_pic2'> </td>
<td class='new_pic1'>
<input type='text' dir='rtl' onclick="if(this.value=='הכנס שם משתמש') {this.value='';this.style.direction='ltr'}" id='user' name='user' value='הכנס שם משתמש' >
</td>
<td class='new_pic'>שם משתמש</td>
</tr>

<tr>
<td id='ch_pass' class='new_pic2' > </td>
<td class='new_pic1'>
<input type='password' name='pass' id='pass'>
</td><td class='new_pic'>סיסמא</td>
</tr>

<tr><td colspan='3' style='text-align:center;color:red;visibility:hide' dir='rtl' id='error' ></td></tr>

<tr><td colspan='3' style='text-align:center;' dir='rtl'><input type="submit" id='submit1' value='התחבר' OnMouseover="window.status='finish';return true;" ></td></tr>
</table>
</form>

</div>

</body>
</html>

וה JS


function final()
{
var n_user = document.getElementById('user').value;
var n_pass = document.getElementById('pass').value;

var url ='./App_Func/login.php?user=' + n_user+ '&pass=' + n_pass;
var xmlHttpN;
if(window.XMLHttpRequest)
xmlHttpN = new XMLHttpRequest();
else if(window.ActiveXObject)
xmlHttpN = new ActiveXObject('Microsoft.XMLHTTP');
xmlHttpN.onreadystatechange = function()
{
if (xmlHttpN.readyState == 4 && xmlHttpN.status == 200)
{

var ajaxTextGetN = xmlHttpN.responseText ;
alert(ajaxTextGetN);

if (ajaxTextGetN == 'no')
{
document.getElementById('error').style.visibility='visible';
document.getElementById('error').innerHTML='פרטי כניסה שגויים נסה שוב';
}
else
document.getElementById('final_reg').innerHTML=ajaxTextGetN;


}
}
xmlHttpN.open('POST', url, false);
xmlHttpN.send(null);
}

הנה הלינק לצפייה בדבר הזה בפעולה:
http://www.mulers.net/alb/body.php?file=user_reg

כל מה שצריך לעשות זה ללחוץ על "התחבר" ... אמור ליהיות
באדום שלא הכנסתם פרטים .

או לשים יוזר rotter סיסמא rotter
וזה אמור פשוט להציג מעין דף לבן במקום .


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  כמה דברים: Ice Cold  28.02.08 23:05 1
     הייייייי יניב AJ זה מגניב חח גם אני בצעירותי akoka 28.02.08 23:09 2
         אני כבר חודשיים לא נגעתי ב-JS. רק FLEX הוא הצדק :) Ice Cold  28.02.08 23:13 3
  תיקנתי את זה על ידי הכנסת הקוד הבא: code_blue  29.02.08 12:04 4
     לא יודע למה אבל שוב הFF החליט לא לעבוד code_blue  02.03.08 12:33 5
         ניסית לשנות את ה-false ל-true ? ב-open ? Ice Cold  02.03.08 15:22 6
             חחח לא חשבתי על זה code_blue  02.03.08 20:29 7

       
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   23:05   28.02.08   
אל הפורום  
  1. כמה דברים:  
בתגובה להודעה מספר 0
 
1. מה שאתה עושה פה זה לא קרוב ל-AJAX... כמו שציינתי בעבר, AJAX זה Asynchronous Javascript and XML. כאן, אתה לא משתמש ב-XML, מה שהופך את זה ל.... אמ... AJ . הבעיה היא, שאפילו את ה-A של AJAX אין לך, כי שמת false בפקודת ה-open שלך, מה שהופך את הקריאה ל-Synchronous ולא ל-Asynchronous. בקיצור, נשארת עם J של Javascript

לאשלתך, בדקתי את זה עם FF 2.0.0.12, וזה עובד בסדר גמור.


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

   23:09   28.02.08   
אל הפורום  
  2. הייייייי יניב AJ זה מגניב חח גם אני בצעירותי  
בתגובה להודעה מספר 1
 
   ערכתי לאחרונה בתאריך 28.02.08 בשעה 23:09 בברכה, akoka
 
שהייתה לא לפני הרבה זמן תיכנתתי בAJ :} היום רק XML וDOM הכי שולט


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   23:13   28.02.08   
אל הפורום  
  3. אני כבר חודשיים לא נגעתי ב-JS. רק FLEX הוא הצדק :)  
בתגובה להודעה מספר 2
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק
   12:04   29.02.08   
אל הפורום  
  4. תיקנתי את זה על ידי הכנסת הקוד הבא:  
בתגובה להודעה מספר 0
 
  

try
{
// Firefox, Opera 8.0+, Safari
xmlHttpN=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttpN=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttpN=new ActiveXObject("Microsoft.XMLHTTP");
}
}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק
   12:33   02.03.08   
אל הפורום  
  5. לא יודע למה אבל שוב הFF החליט לא לעבוד  
בתגובה להודעה מספר 4
 
   בIE עובד מעולה !!!!
ובFF לא ...

אחרי כמה בדיקות יוצא שהוא פשוט לא מגיע לשלב הזה ב AJAX :


function change_pg(pg)
{
var url ='./App_Func/' + pg +'.tpl';
var xmlHttpN=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttpN=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttpN=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttpN=new ActiveXObject("Microsoft.XMLHTTP");
}
}


xmlHttpN.onreadystatechange = function()
{

if (xmlHttpN.readyState == 4 && xmlHttpN.status == 200)
{
var ajaxTextGetN = xmlHttpN.responseText ;
alert(ajaxTextGetN);
document.getElementById('final_reg').innerHTML=ajaxTextGetN;
}
}

xmlHttpN.open('post', url, false);
xmlHttpN.send(null);
}

מה עושים ?!!!
זה קורה רק בFF .. ב IE כמו שאמרתי עובד תותח


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   15:22   02.03.08   
אל הפורום  
  6. ניסית לשנות את ה-false ל-true ? ב-open ?  
בתגובה להודעה מספר 5
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
code_blue  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 5.7.06
21280 הודעות, 7 פידבק
   20:29   02.03.08   
אל הפורום  
  7. חחח לא חשבתי על זה  
בתגובה להודעה מספר 6
 
   אבל עשיתי את זה כי ככה ראיתי ב w3school .. וזה עובד ;-)


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

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

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



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