customResponseClassTest.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. require_once("../xajax.inc.php");
  3. // Custom Response Class extends xajaxResponse
  4. class customXajaxResponse extends xajaxResponse
  5. {
  6. function addCreateOption($sSelectId, $sOptionId, $sOptionText, $sOptionValue)
  7. {
  8. $this->addScript("addOption('".$sSelectId."','".$sOptionId."','".$sOptionText."','".$sOptionValue."');");
  9. }
  10. }
  11. // tests the select form
  12. function testForm($formData)
  13. {
  14. $objResponse = new customXajaxResponse();
  15. $objResponse->addAlert("formData: " . print_r($formData, true));
  16. $objResponse->addAssign("submittedDiv", "innerHTML", nl2br(print_r($formData, true)));
  17. return $objResponse->getXML();
  18. }
  19. // adds an option to the select
  20. function addOption($selectId, $optionData)
  21. {
  22. $objResponse = new customXajaxResponse();
  23. $objResponse->addCreateOption($selectId, $optionData['optionId'], $optionData['optionText'], $optionData['optionValue']);
  24. $objResponse->addAssign("submittedDiv", "innerHTML", nl2br(print_r($optionData, true)));
  25. return $objResponse->getXML();
  26. }
  27. $xajax = new xajax();
  28. //$xajax->debugOn();
  29. $xajax->registerFunction("testForm");
  30. $xajax->registerFunction("addOption");
  31. $xajax->processRequests();
  32. ?>
  33. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  34. "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
  35. <html xmlns="http://www.w3.org/1999/xhtml">
  36. <head>
  37. <title>Custom Response Class Test| xajax Tests</title>
  38. <script type="text/javascript">
  39. //javascript function to add an option to a select box
  40. function addOption(selectId,optionId,txt,val)
  41. {
  42. var objOption = new Option(txt,val);
  43. objOption.id = optionId;
  44. document.getElementById(selectId).options.add(objOption);
  45. }
  46. </script>
  47. <?php $xajax->printJavascript("../") ?>
  48. </head>
  49. <body>
  50. <h2><a href="index.php">xajax Tests</a></h2>
  51. <h1>Custom Response Class Test</h1>
  52. <div>
  53. <form id="testForm1" onsubmit="return false;">
  54. <div>Select</div>
  55. <select id="selectBox" name="selectBox">
  56. </select>
  57. <div><input type="submit" value="submit" onclick="xajax_testForm(xajax.getFormValues('testForm1')); return false;" /></div>
  58. </form>
  59. </div>
  60. <div style="margin-top: 20px;">
  61. <form id="testForm2" onsubmit="return false;">
  62. <fieldset style="display:inline; background-color: rgb(230,230,230);">
  63. <legend>New Option</legend>
  64. <div>Id:</div>
  65. <input type="text" id="optionId" name="optionId" value="option1" />
  66. <div>Text:</div>
  67. <input type="text" id="optionText" name="optionText" value="One" />
  68. <div>Value:</div>
  69. <input type="text" id="optionValue" name="optionValue" value="1" />
  70. <div><input type="submit" value="Add" onclick="xajax_addOption('selectBox',xajax.getFormValues('testForm2')); return false;" /> </div>
  71. </fieldset>
  72. </form>
  73. </div>
  74. <div id="submittedDiv" style="margin: 3px;"></div>
  75. </body>
  76. </html>