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> <form id="my_form" onsubmit="return false;">
<div repeat="foo">
<h2>Foo #{foo.count}</h2>
<input type="text" name="person.name"/>
<input type="text" name="person.bdate"/>
This is the repeated foo section
<table>
<tr repeat="bar">
<td>Item #{bar.count}</td>
<td><input name="#{bar.path}.buz"></td>
<td><button onclick="GvaScript.Form.remove('#{bar.path}')">
Remove this row
</button></td>
</tr>
</table>
<button onclick="GvaScript.Form.add('#{foo.path}.bar')">
Add a bar
</button>
</div>
<button onclick="GvaScript.Form.add('foo')">Add a foo</button>
</form>
<script>
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 -> element changed
// event.memo.oldvalue -> changed element's old value
// event.memo.newvalue -> changed element's new value
},
( run in 0.715 second using v1.01-cache-2.11-cpan-df04353d9ac )