The title probably isn't very clear, but I haven't been able to find this problem (or I must be having problems figuring out which search strings to use) so I apologize if this has been addressed before, and I apologize if this is the wrong forum since I'm trying to use the XMLHTTPRequest with Javascript and PHP and I couldn't figure out which category my problem belonged to.
I am completely new to AJAX and rusty with Javascript. I created a XMLHTTPRequest object on "index.php" that calls to another page 'programs.php' that queries and outputs music information for a skating program.
In the output of 'programs.php' it contains:
index.php:
programs.php:
This is in addition to the use of php to query and output code that I took out.
My problem is that the function call to show(click_lyri cs) does not seem to work, which I suppose is to be expected. So my question is whether there is a way to make this work in hiding the lyrics or show the lyrics within the requested data? Or perhaps a better way to code this? Let me know if more code/explanation is needed for clarity.
Thanks much in advance.
I am completely new to AJAX and rusty with Javascript. I created a XMLHTTPRequest object on "index.php" that calls to another page 'programs.php' that queries and outputs music information for a skating program.
In the output of 'programs.php' it contains:
index.php:
Code:
<script type="text/javascript" language="Javascript"> <!-- var req = false; try { req = new XMLHttpRequest(); } catch (trymicrosoft) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { req = false; } } } if (!req) alert("Error initializing XMLHttpRequest!"); function sendRequest(id, program) { req.open('get', 'programs?id=' + id + '&x=' + program); req.onreadystatechange = handleResponse; req.send(null); } function handleResponse() { if(req.readyState == 4){ var response = req.responseText; var update = new Array(); if(response.indexOf('||' != -1)) { update = response.split('||'); document.getElementById(update[0]).innerHTML = update[1]; } } else alert("loading" + ajax.readyState); } --> </script> </head> <body> <a href="javascript:sendRequest('show_music', '<? echo $x ?>');">Music</a> | <div id="info"> </div> </body> </html>
Code:
switch($_REQUEST['id']) { case 'show_music': echo "info||"; $program = $_REQUEST['x']; query_music_song($program, $db); mysql_close(); break; } <script language="JavaScript"> function show(click_lyrics) { if (click_lyrics.style.display == "none") { click_lyrics.style.display = ""; } else if (click_lyrics.style.display == "") { click_lyrics.style.display = "none"; } } </script> ... <snip> ... echo "<a href=\"#\" onclick=\"show(lyrics)\">Show Lyrics</a><br />"; echo "<span id=\"lyrics\" style=\"display:none\"><pre>" . $m->lyrics . "</pre></span>";
My problem is that the function call to show(click_lyri cs) does not seem to work, which I suppose is to be expected. So my question is whether there is a way to make this work in hiding the lyrics or show the lyrics within the requested data? Or perhaps a better way to code this? Let me know if more code/explanation is needed for clarity.
Thanks much in advance.
Comment