COMP 2405 Assignment 4

Assignment 4 involves improving the interactivity of your jump log application using AJAX. You can continue extending the jump log application you created in Assignment 2 or Assignment 3. For full marks, all JavaScript and Perl code should run without generating errors or warnings. All HTML and CSS generated by your application should validate without any errors or warnings.

  1. No more edit mode: You need to do away with the application's data entry mode.
  2. The detail mode: The single jump mode will now be called the detail mode. Like before, it shows you all the details of a single jump and has links to skip forward or backward to the next jump.
  3. Dynamic edits: When in the detail mode, you should be able to be able to change the value of any field for the jump you're looking at. Changing the field should immediately result in an AJAX transaction occuring that saves the data on the server. (This only involves adding one line to the server's data file.)

    The sequence of operations triggered by a user changing data should be as follows:

    1. The user makes a change
    2. The browser sends an XML HTTP request to the server that encodes the change.
    3. The server responds with some XML that specifies exactly what data (if any) it has saved in response to the change
    4. The browser updates the user's view using the server's response.

    Note that doing it this way allows the user to see exactly what data the server has saved in response to his change. So, if the user enters something invalid, they will see that their change was not saved.

    The goal of the game here is to make the detail view as clean looking as possible. Feel free to use any JavaScript tricks we've seen to accomplish this.