Hi Gareth, Oh, yes I didn't add the onclick attribute to those years yet, sorry about that.
Thanks On Mar 18, 9:17 pm, "Gareth Evans" <[EMAIL PROTECTED]> wrote: > AndyMadonna, When I click any year past 1960 I don't get the alert at all- > is request_year bringing back the correct data? > > On 3/19/07, andymadonna <[EMAIL PROTECTED]> wrote: > > > > > This was moved from Prototype: Core > > > andymadonna -me > > > Hi, I'm new to using Prototype. I trying to use Ajax to make an > > interactive timeline of the 60s, but my Ajax request keeps failing. > > > I have it on my live site for testing: > >http://the60s.andrewmadonna.com/timeline.html > > > Here is a code snippet of the actual request: > > > new Ajax.Request('timeline_backend.php', { > > method: 'get', > > parameters: {action: 'year', year: request_year}, > > onCreate: create_loader(), > > onFailure: alert("Oops!"), > > onSuccess: create_year(transport) > > }); > > > -------------------------------- > > Tom Gregory > > > You are not passing function references to the callbacks as you > > perhaps intend. You are instead passing the results of functions. > > > Modify these lines: > > onCreate: create_loader, // No parenthesis > > onFailure: function () {alert("Oops!");}, // anonymous function > > onSuccess: create_year // Again, use a function reference, not a > > function result > > --------------------------------- > > andymadonna > > > Thanks Tom, > > > I modified it to what you said. But now it doesn't create the loader, > > and I know its executing the create_year function because I put in an > > alert to test it but it doesn't perform anything past that. > > > Modified: > > new Ajax.Request('timeline_backend.php', { > > method: 'get', > > parameters: {action: 'year', year: request_year}, > > onCreate: create_loader, > > onFailure: function () {alert("Oops!");}, > > onSuccess: create_year > > }); > > > --------------------------------------- > > Gareth Evans > > > What is in your create_year function? > > > ---------------------------------------- > > andymadonna > > > Hi Gareth, > > > The create_year function creates all the dates for that year on the > > timeline. I have it on my live site to test the code: > >http://the60s.andrewmadonna.com/timeline.html > > > Here is the actual function: > > > function create_year(transport) { > > alert("I am being executed!"); > > var timeline_content = document.createElement("div"); > > timeline_content.setAttribute("id","timeline_content"); > > var timeline = document.createElement("div"); > > timeline.setAttribute("id","timeline"); > > var line = document.createElement("div"); > > line.setAttribute("id","line"); > > var xmlDoc = transport.responseXML.documentElement; > > var loop_length = xmlDoc.getElementByTagName("date").length; > > var isBottom = false; > > for (var i=0;i<loop_length;i++) { > > var date_title = xmlDoc.getElementByTagName("date") > > [i].childNodes[0].childNodes[0].nodeValue; > > var date_text = > > document.createTextNode(xmlDoc.getElementByTagName("date") > > [i].childNodes[1].nodeValue); > > var date = document.createElement("div"); > > date.setAttribute("title",date_title); > > var date_line = document.createElement("div"); > > date_line.setAttribute("class","date_line"); > > if (!isBottom) { > > date.setAttribute("class","date"); > > date.appendChild(date_text); > > date.appendChild(date_line); > > isBottom = true; > > } else { > > date.setAttribute("class","date_bottom"); > > date.appendChild(date_line); > > var date_bottom_text = document.createElement("div"); > > > date_bottom_text.setAttribute("class","date_element_text"); > > date_bottom_text.appendChild(date_text); > > date.appendChild(date_bottom_text); > > isBottom = false; > > } > > timeline.appendChild(date); > > } > > timeline.appendChild(line); > > timeline_content.appendChild(timeline); > > > var next_arrow = document.createElement("div"); > > next_arrow.setAttribute("id","next"); > > next_arrow.setAttribute("class","arrows"); > > next_arrow.setAttribute("onclick","slide_timeline_next();"); > > var next_arrow_text = document.createTextNode("><br /><br / > > ><br />>"); > > > next_arrow.appendChild(next_arrow_text); > > timeline_content.appendChild(next_arrow); > > > var previous_arrow = document.createElement("div"); > > previous_arrow.setAttribute("id","previous"); > > previous_arrow.setAttribute("class","arrows"); > > > previous_arrow.setAttribute("onclick","slide_timeline_previous();"); > > var previous_arrow_text = document.createTextNode("<<br / > > ><br /><br /><"); > > > previous_arrow.appendChild(previous_arrow_text); > > timeline_content.appendChild(previous_arrow); > > > document.body.appendChild(timeline_content); > > $('timeline').setStyle({ > > width: 8 * loop_length + 'em' > > }); > > > } > > > ---------------------------------- --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Spinoffs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/rubyonrails-spinoffs?hl=en -~----------~----~----~----~------~----~------~--~---
