Alien-GvaScript

 view release on metacpan or  search on metacpan

doc/html/Form.html  view on Meta::CPAN

  <a class="TN_label" href="#to_hash">to_hash</a>
  <div class="TN_content"></div>
</div>
<div class="TN_leaf">
  <a class="TN_label" href="#to_tree">to_tree</a>
  <div class="TN_content"></div>
</div>
<div class="TN_leaf">
  <a class="TN_label" href="#fill_from_tree">fill_from_tree</a>
  <div class="TN_content"></div>
</div>
<div class="TN_leaf">
  <a class="TN_label" href="#add">add</a>
  <div class="TN_content"></div>
</div>
<div class="TN_leaf">
  <a class="TN_label" href="#remove">remove</a>
  <div class="TN_content"></div>
</div>
<div class="TN_leaf">
  <a class="TN_label" href="#autofocus">autofocus</a>
  <div class="TN_content"></div>
</div>
</div>
</div>
<div class="TN_node">
  <a class="TN_label" href="#GvaScript_Forms">GvaScript.Forms</a>
  <div class="TN_content"><div class="TN_node">
  <a class="TN_label" href="#METHODS">METHODS</a>
  <div class="TN_content"><div class="TN_leaf">
  <a class="TN_label" href="#get">get</a>
  <div class="TN_content"></div>
</div>
</div>
</div>
</div>
</div>
<div class="TN_node">
  <a class="TN_label" href="#GvaScript_Form_Responders">GvaScript.Form.Responders</a>
  <div class="TN_content"><div class="TN_node">
  <a class="TN_label" href="#METHODS">METHODS</a>
  <div class="TN_content"><div class="TN_leaf">
  <a class="TN_label" href="#register">register</a>
  <div class="TN_content"></div>
</div>
<div class="TN_leaf">
  <a class="TN_label" href="#unregister">unregister</a>
  <div class="TN_content"></div>
</div>
</div>
</div>
</div>
</div>
<div class="TN_leaf">
  <a class="TN_label" href="#GvaScript_Form_EarlyResponders">GvaScript.Form.EarlyResponders</a>
  <div class="TN_content"></div>
</div>

       </div>
     </div>
     <hr/>
   </div>
  </div>
  <div class="TN_node" id="NAME">
    <h2 class="TN_label">NAME</h2>
    <div class="TN_content">
      <p>Alien::GvaScript::Form - Wrapper around HTML Forms</p>

    </div>
  </div>
  <div class="TN_node" id="SYNOPSIS">
    <h2 class="TN_label">SYNOPSIS</h2>
    <div class="TN_content">
      <pre>  &lt;form id="my_form" onsubmit="return false;"&gt;
    &lt;div repeat="foo"&gt;
      &lt;h2&gt;Foo #{foo.count}&lt;/h2&gt;
      &lt;input type="text" name="person.name"/&gt;
      &lt;input type="text" name="person.bdate"/&gt;
      This is the repeated foo section
      &lt;table&gt;
        &lt;tr repeat="bar"&gt;
          &lt;td&gt;Item #{bar.count}&lt;/td&gt;
          &lt;td&gt;&lt;input name="#{bar.path}.buz"&gt;&lt;/td&gt;
          &lt;td&gt;&lt;button onclick="GvaScript.Form.remove('#{bar.path}')"&gt;
                Remove this row
              &lt;/button&gt;&lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
       &lt;button onclick="GvaScript.Form.add('#{foo.path}.bar')"&gt;
          Add a bar
       &lt;/button&gt;
    &lt;/div&gt;  
    &lt;button onclick="GvaScript.Form.add('foo')"&gt;Add a foo&lt;/button&gt;
  &lt;/form&gt;

  &lt;script&gt;
    var gvascript_form = new GvaScript.Form('my_form', {
      datatree: {name:'kitty', bdate:'01.01.1990'},
      dataprefix: 'person',
      // 'active' form elements 
      registry: [
        ['input', 'mouseover', function(event) {}],
        ['input', 'mouseout',  function(event) {}],
        ['input', 'change',    function(event, newv ,oldv) {}],
        ['input', 'init',      function(event, newv) {}]
      ],
      // handlers to form's custom events
      onInit: function(gva_form) {},
      onRepeatBlockRemove: function(gva_form, arg) {
        arg[0] // removed repeat name
        arg[1] // removed repeat path
      },
      onRepeatBlockAdd: function(gva_form, arg) {
        arg[0] // added repeat name
        arg[1] // added repeat path
      },
      onChange: function(gva_form, event) {
        // event.target -&gt; element changed
        // event.memo.oldvalue -&gt; changed element's old value
        // event.memo.newvalue -&gt; changed element's new value
      },



( run in 0.715 second using v1.01-cache-2.11-cpan-df04353d9ac )