HTML_QuickForm_LiveText
[ class tree: HTML_QuickForm_LiveText ] [ index: HTML_QuickForm_LiveText ] [ all elements ]

Source for file sample.php

Documentation is available at sample.php

  1. <?php
  2. /* vim: set number autoindent tabstop=4 shiftwidth=4 softtabstop=4: */
  3. /**
  4. * Example of usage for PEAR class HTML_QuickForm_LiveText
  5. *
  6. * @author Fabio Ambrosanio <fabio@ambrosanio.com>
  7. * @version 0.1.0
  8. * @package HTML_QuickForm_LiveText
  9. *
  10. * $Id: sample.php,v 1.2 2007/04/11 16:21:58 fabamb Exp $
  11. */
  12.  
  13. require_once 'HTML/QuickForm.php';
  14. require_once 'HTML/QuickForm/livetext.php';
  15.  
  16. $twoLabel = <<<_HTML
  17. <tr valign="top">
  18. <td align="right">
  19. <!-- BEGIN required --><span style="color: #F00;">*</span><!-- END required --><b>{label}</b>
  20. </td>
  21. <td align="left">
  22. <!-- BEGIN error --><span style="color: #F00;">{error}</span><br /><!-- END error -->{element}
  23. <!-- BEGIN label_2 --><br /><span style="font-size: 80%;">{label_2}</span><!-- END label_2 -->
  24. </td>
  25. </tr>
  26. _HTML;
  27.  
  28. $groupTemplate = <<<HTML
  29. <table border=0 cellpadding=0 cellspacing=1>
  30. <tr>
  31. {content}
  32. </tr>
  33. </table>
  34. HTML;
  35.  
  36. $groupElementTemplate = <<<HTML
  37. <td valign="top">
  38. {element}<br />
  39. <span class="minilabel">{label}<!-- BEGIN required --><span style="color: #f00">* </span><!-- END required --></span>
  40. </td>
  41. HTML;
  42.  
  43. $form = new HTML_QuickForm('form');
  44.  
  45. $form->addElement('livetext', 'live1', array('Simple search:<br/>(type "a")', 'Search for a fruit:'), array(
  46. 'minSearch' => 1
  47. ));
  48. unset($group);
  49. $group[] =& $form->createElement('livetext', 'live2', 'name', array(
  50. 'method' => 'search2',
  51. 'minSearch' => 2,
  52. 'map' => array('live2' => 'name', 'id2' => 'id'),
  53. 'keys' => array('id', 'name')
  54. ));
  55. $group[] =& $form->createElement('text', 'id2', 'id', array(
  56. 'size' => 10,
  57. 'id' => 'id2',
  58. 'readonly' => 'true',
  59. 'style' => 'background-color: transparent !important; border: 1px solid #ccc;'
  60. ));
  61. $form->addGroup($group, 'group', 'Search for a name:<br/>(min 2 chars, type "jo")', '');
  62.  
  63. unset($group);
  64. $group[] =& $form->createElement('text', 'id3', 'id', array(
  65. 'size' => 5,
  66. 'id' => 'id3',
  67. 'readonly' => 'true',
  68. 'style' => 'background-color: transparent !important; border: 1px solid #ccc;'
  69. ));
  70. $group[] =& $form->createElement('livetext', 'live3', 'name', array(
  71. 'method' => 'search2',
  72. 'minSearch' => 2,
  73. 'showAsTable' => true,
  74. 'map' => array(
  75. 'live3' => 'name',
  76. 'id3' => 'id',
  77. 'department3' => 'department'
  78. )
  79. ));
  80. $group[] =& $form->createElement('text', 'department3', 'department', array(
  81. 'size' => 20,
  82. 'id' => 'department3',
  83. 'readonly' => 'true',
  84. 'style' => 'background-color: transparent !important; border: 1px solid #ccc;'
  85. ));
  86. $form->addGroup($group, 'group2', 'Search for a name again with table rendering:<br/>(min 2 chars, type "jo")', '');
  87.  
  88. $form->addElement('livetext', 'live4', array('Simple search from a 2nd server:<br/>(like the first but from a different server page)', 'Search for a fruit'), array(
  89. 'minSearch' => 1,
  90. 'server' => 'auto_server2.php',
  91. 'stub' => 'LiveText2'
  92. ));
  93.  
  94.  
  95. $form->addElement('text', 'required', 'For error check:');
  96. $form->addRule('required', 'Field required.', 'required');
  97. $form->addElement('submit', null, 'Submit');
  98.  
  99. $renderer =& $form->defaultRenderer();
  100. $renderer->setElementTemplate($twoLabel, 'live1');
  101. $renderer->setElementTemplate($twoLabel, 'live4');
  102. $renderer->setGroupTemplate($groupTemplate, 'group');
  103. $renderer->setGroupElementTemplate($groupElementTemplate, 'group');
  104. $renderer->setGroupTemplate($groupTemplate, 'group2');
  105. $renderer->setGroupElementTemplate($groupElementTemplate, 'group2');
  106.  
  107. // Tries to validate the form
  108. if ($form->validate()) {
  109. // Form is validated, then processes the data
  110. $form->freeze();
  111. $form->process('myProcess', false);
  112. echo "\n<HR>\n";
  113. }
  114.  
  115. /**
  116. * Process callback
  117. * @ignore
  118. */
  119. function myProcess($values)
  120. {
  121. echo '<pre>';
  122. var_dump($values);
  123. echo '</pre>';
  124. }
  125.  
  126. $form->display();
  127. ?>

Documentation generated on Thu, 12 Apr 2007 08:37:36 +0200 by phpDocumentor 1.3.0RC3