
12-08-2007, 09:01
|
|
|
|
חבר מתאריך: 12.08.05
הודעות: 883
|
|
שבוע טוב.
כמה טוב לחזור הבייתה. :]
הנה הקוד הכללי הורדתי כל מיני חלקים לא קשורים כדי שהקוד לא יהיה ארוך מידי, מקווה שזה בסדר מבחינתך.)
קוד 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.
|