Advertisement
Guest User

Untitled

a guest
Mar 25th, 2013
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 4.21 KB | None | 0 0
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2.  
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5.     <title>Untitled Page</title>
  6.     <style type="text/css">
  7.       #Name
  8.       {
  9.         width: 10em;
  10.       }
  11.       #Message
  12.       {
  13.         height: 73px;
  14.         width: 421px;
  15.       }
  16.       #mainTitle
  17.       {
  18.         font-family: Verdana;
  19.         font-size: larger;
  20.         color: #800000;
  21.       }
  22.       .formTable {
  23.         width: 70%;
  24.       }
  25.       td
  26.       {
  27.         font-family: Verdana;
  28.       }
  29.     </style>
  30. </head>
  31.  
  32. <script language="javascript" type="text/javascript">
  33. // <!CDATA[
  34. var xhr;
  35. var xmldom;
  36.  
  37.  
  38. function CreateXMLDOM() {
  39.    try //Internet Explorer
  40.      {
  41.      xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  42.      }
  43.    catch(e)
  44.      {
  45.      try //Firefox, Mozilla, Opera, etc.
  46.      {
  47.        xmlDoc=document.implementation.createDocument("","",null);
  48.      }
  49.      catch(e) {
  50.        alert(e.message);
  51.        return null;
  52.      }
  53.    }
  54.      return xmlDoc;
  55. }
  56.  
  57.  
  58. function CreateXHR() {
  59.  var xmlHttp;
  60.  try {
  61.    // Firefox, Opera 8.0+, Safari
  62.    xmlHttp=new XMLHttpRequest();  
  63.  }
  64.  catch (e) {  
  65.    // Internet Explorer
  66.    try {    
  67.      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  68.    }
  69.    catch (e) {    
  70.      try {      
  71.        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  72.      }
  73.      catch (e) {      
  74.        alert("Your browser does not support AJAX!");      
  75.        return false;
  76.      }
  77.    }
  78.  }
  79.  return xmlHttp;
  80. }
  81.  
  82. function init() {
  83.  xhr = CreateXHR();
  84.  xhr.onreadystatechange = ProcessXML;
  85.  xhr.open("GET", "messages.xml", true);
  86.  xhr.send(null);
  87. }
  88.  
  89. function ProcessXML() {
  90.  if (xhr.readyState == 4) {
  91.    xmldom = xhr.responseXML;
  92.  }
  93. }
  94.  
  95. function ProcessResponse() { // wait for async transfer to finish
  96.  if (xhr.readyState == 4) {
  97.    var text = xhr.responseText;
  98.    if (text.indexOf("OK") == 0) { //all is well - clear message form
  99.      document.getElementById("Name").value = "";
  100.      document.getElementById("Message").value = "";
  101.    } else { //flag error
  102.      alert(text); // text contains error message
  103.    }
  104.  }
  105. }
  106.  
  107. function WriteXML() { // async write XML DOM to named XML file
  108.    xhr.onreadystatechange = ProcessResponse;
  109.     xhr.open("POST", "set.php", true);
  110.  
  111.   // var data = "foo=bar&data=hello world";
  112.    var data = xmldom;
  113.   // alert(data);
  114.     xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  115.    xhr.setRequestHeader("Content-length", data.length);
  116.    xhr.setRequestHeader("Connection", "close");
  117.    xhr.send(data);
  118. }
  119.  
  120. function SaveMessage() { // add new <message> tag to XML DOM
  121.   var messagesTag = xmldom.getElementsByTagName("messages")[0];
  122.   var messages = xmldom.getElementsByTagName("message");
  123.   var newMessageNode = messages[0].cloneNode(true);  // deep clone of first message
  124.   newMessageNode.getElementsByTagName("user")[0].firstChild.nodeValue = document.getElementById("Name").value;
  125.   // changing value of CDATA node, one level deeper in the XML DOM
  126.   newMessageNode.getElementsByTagName("text")[0].childNodes[1].nodeValue = document.getElementById("Message").value;
  127.   newMessageNode.getElementsByTagName("date")[0].firstChild.nodeValue = new Date();
  128.   messagesTag.appendChild(newMessageNode);  // append new message node to messages
  129. }
  130.  
  131. function UpdateButton_onclick() { // click event handler
  132.   SaveMessage();
  133.   WriteXML();
  134.   return false; // don't submit form data
  135. }
  136.  
  137. // ]]>
  138. </script>
  139. <body onload="init();">
  140.  
  141.   <p id="mainTitle">
  142.     Send and Save Message</p>
  143.  
  144.   <table align="left" cellpadding="4" class="formTable">
  145.     <tr>
  146.       <td>
  147.         User Name:</td>
  148.       <td>
  149.         <input id="Name" type="text" value="mrbig" /></td>
  150.     </tr>
  151.     <tr>
  152.       <td valign="top">
  153.         Message:</td>
  154.       <td>
  155.         <textarea id="Message" cols="50" name="S1" rows="3">The message text
  156. appears here.</textarea></td>
  157.     </tr>
  158.     <tr>
  159.       <td>&nbsp;
  160.         </td>
  161.       <td>
  162.         <input id="UpdateButton" type="submit" value="Update" onclick="return UpdateButton_onclick()" /></td>
  163.     </tr>
  164.   </table>
  165. <div id="mymessages"></div>
  166. </body>
  167. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement