לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 10-08-2007, 14:21
  dardevil dardevil אינו מחובר  
 
חבר מתאריך: 12.08.05
הודעות: 883
javascript מתנגש עם הajax

אהלן.
כשאני מנסה להוסיף פונקציות בjavascript לקוד הajax שלי, קופצת לי שגיאת javascript.
הבעיה מתחילה כשאני מנסה לקרוא לפונקציה מתוך קובץ js.
לדוגמא, אם נניח אני יוסיף את הקוד הבא לתוך הקובץ שהאג'אקס מציג:
קוד:
<a onclick="alert('aaaa');" name="#top">aaaa</a>

הוא יעלה לי חלון alert... ז"א שהפונקציה עבדה.
אבל, והנה מגיע ה"אבל" אם אני מנסה לקרוא לפונקציה שנקראת test בצורה הזאת:
קוד:
<a onclick="test();" name="#top">aaaa</a>

ובתוך קובץ הjs יש את הקוד הבא:
קוד:
function test() { alert('aaaa'); }

זה מקפיץ לי את ההודעה שגיאה object expected.
יותר מזה, אם אני נכנס ישירות לעמוד, ולא מציג אותו דרך אג'אקס הפונקציה עובדת סבבה... רק כשהיא בתוך אג'אקס זה עושה לי את הבעיה הזאת...
אני כמעט בטוח שזו איזה בעיה מפגרת שאני לא מכיר בגלל חוסר הניסיון שלי, אז אם זה באמת ברמה כזאת שתחייב תגובה שאומרת "לך תלמד ג'אווה סקריפט או אג'אקס" בבקשה אל תגידו לי את זה ותנסו לכוון אותי לתשובה.
זה חשוב לי!
המון המון תודה!
שבת שלום.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #5  
ישן 12-08-2007, 09:01
  dardevil dardevil אינו מחובר  
 
חבר מתאריך: 12.08.05
הודעות: 883
בתגובה להודעה מספר 4 שנכתבה על ידי DCD שמתחילה ב "אבל לפחות תראה לי [B]קוד..."

שבוע טוב.
כמה טוב לחזור הבייתה. :]
הנה הקוד הכלליהורדתי כל מיני חלקים לא קשורים כדי שהקוד לא יהיה ארוך מידי, מקווה שזה בסדר מבחינתך.)
קוד PHP:
<?
if (!isset($_GET['ajax'])) {
?>
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<link rel="stylesheet" type="text/css" href="includes/style.css">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script language="javascript"> function test()
{
alert('aaaa');
}
</script>
<script src="ajax.js"></script>
</head>
<? $flash = 'Yes' ?>
<? include ("header_tpl.php"); ?>
<body bgcolor="#FFFFFF" topmargin="0" marginwidth="0" marginheight="0">
<form name="form1" method="post">
<input type="radio" name="type" value="quick" id="type" onclick="showSelect(this.value, this.id, 'type.php')" <? if($type == "quick")echo " checked"; ?>>Quick<br>
    <input type="radio" name="type" value="full" id="type2" onclick="showSelect(this.checked, this.id, 'type.php')" <? if($type == "full")echo " checked"; ?>>Full
<br>
<div id='txtHint'></div>
</form>
<? 
include ("footer.php"); 
}
else 
{
$ajax = $_GET['ajax'];
if ($_GET['checked'] == true) 
{
if($ajax == "quick") {
$type = "quick";
echo "quick";
} else {
?>
<a onclick="test();" name="top">aaa</a>
<? } } } ?>

זה בערך הקוד שלי.
הקובץ ajax.js נראה כך:
קוד:
function showSelect(str, mem, us) { if (str.length==0) { document.getElementById("txtHint").innerHTML=""; return; } xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Browser does not support HTTP Request") return } var url=us url += "?ajax="+str url += "&checked="+document.getElementById(mem).checked; url += "&sid="+Math.random() xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true) xmlHttp.send(null) }function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("txtHint").innerHTML=xmlHttp.responseText } }function GetXmlHttpObject() { var xmlHttp=null; try {a // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { //Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; }

אם תצטרך עוד איזה קטע קוד, תגיב ואני אציג לך אותו פה.
תודה מקרב לב.

עריכה:
מצאתי את הבעיה.
כשהצגתי לך כאן את הקוד, לא הצגתי אותו כמו שהוא כתוב אצלי.
אני לא שמתי לב להבדלים הקטנים.
אצלי בקוד הפנתי את הפונקציה של הajax(showSelect) לקובץ אחר, שבו יצרתי את הפונקציה test.
זאת אומרת שהפונקציה test קיימת רק בקובץ שהפנתי אליו, ולא בקובץ שבו נמצאים הInputs שמפעילים של הajax.
אחרי שהצגתי לך את הקוד, עבדתי עליו ושמתי לב להבדל הזה.
ברגע שראיתי שיש הבדל, עשיתי ניוסיון, כשיצרתי פונקציה שמציגה alert בתוך הקובץ type(הקובץ הראשי שנמצאים בו הinputs שמפעילים את הajax, וקראתי לה מתוך הקובץ full, שאותו הajax מציג.
וזה עבד!
תודה רבה רבה רבה לך על כל העזרה!
אני מצטער על כל ההטרדות למיניהם, ולא רק באשכול הזה.
אתה ממש עוזר לי!
תודה.

נערך לאחרונה ע"י dardevil בתאריך 12-08-2007 בשעה 09:16.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

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

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 17:54

הדף נוצר ב 0.04 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2025 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר