<FORM NAME="name"

<FORM NAME="name" -- configures automatic form elements

概要

Usage (<FORM NAME="name">)

説明

By default, all forms are converted to HTML_Template_Flexy_Elements, so they can be altered at runtime.

例 40-1Using an element to change a template.


<?php
$form = new HTML_Template_Flexy();
$form->compile($this->masterTemplate);

// create an instance (note you dont have to specify any details..)

$elements['theform'] = new HTML_Template_Flexy_Element;

// change an attribute
$elements['theform']->attributes['action'] = 'http://pear.php.net';

//  


// for the different types of elements:
$elements['test_textarea'] = new HTML_Template_Flexy_Element;
$elements['test_textarea']->setValue('Blogs');


// select options
$elements['test_select'] = new HTML_Template_Flexy_Element;
$elements['test_select']->setOptions( array(
  '123' => 'a select option',
  '1234' => 'another select option'
));
$elements['test_select']->setValue('1234');

// checkboxes
$elements['test_checkbox'] = new HTML_Template_Flexy_Element;
$elements['test_checkbox']->setValue(1);

// array type checkboxes..
$elements['test_checkbox[]'] = new HTML_Template_Flexy_Element;
$elements['test_checkbox[]']->setValue(array(1,2));

// radio buttons
$val = 'yes';
$elements['test_radio'] = new HTML_Template_Flexy_Element;
// if you have a default - you may want default to using it..
$elements['test_radio']->setValue($val != 'no' ? $val : 'no');


$form->output(new StdClass, $elements);

// in the example below, the new data you have added is to the existing attributes
?>

例 40-2template example

<BODY>
  <FORM name="theform">
  
      <TEXTAREA name="test_textarea"></TEXTAREA>
    
    <SELECT name="test_select"></SELECT>
    
    <input name="test_checkbox" type="checkbox" value="1">
    
    <input name="test_checkbox_array[]" type="checkbox" value="1">1<BR>
    <input name="test_checkbox_array[]" type="checkbox" value="2">2<BR>
    <input name="test_checkbox_array[]" type="checkbox" value="3">3<BR>
    
    <!-- you need to use id's -->
    <input name="test_radio" type="radio" id="radio_yes" value="yes">yes<BR>
    <input name="test_radio" type="radio" id="radio_no" value="no">no<BR>
    
  </FORM>
</BODY>

例 40-3output from the Template

<BODY>
  <FORM name="theform" action="http://pear.php.net">
  
     
    <TEXTAREA name="test_textarea">Blogs</TEXTAREA>
    
    <SELECT name="test_select">
      <option value="123">a selection option</option>
      <option value="1234" selected>another selection option</option>
      
    </SELECT>
    
    <input name="test_checkbox" type="checkbox" value="1" checked>
    
    <input name="test_checkbox_array[]" type="checkbox" value="1" checked>1<BR>
    <input name="test_checkbox_array[]" type="checkbox" value="2" checked>2<BR>
    <input name="test_checkbox_array[]" type="checkbox" value="3">3<BR>
    
    <input name="test_radio" type="radio" value="yes" id="radio_yes" checked>yes<BR>
    <input name="test_radio" type="radio" value="no" id="radio_no">no<BR>
    
    
  </FORM>
</BODY>