我想更改Zend_Form的默认行为,这样无论何时单击提交按钮,都会阻止表单提交并调用任意JavaScript函数。这将在网站上的所有表单中完成,但是要调用的实际JS函数可能会从表单更改为表单。
最合适的方法是什么?通过提交元素上的自定义装饰器?你能提供一些提示吗?
感谢。
答案 0 :(得分:4)
在我看来,Zend_Form不需要或不需要任何JavaScript知识。我会在表单中添加一个类,并使用该类名作为应用javascript的钩子。
想象一下表格:
<form class="validate-me">
<!-- //elements -->
<input type="submit">
</form>
然后,您可以将JavaScript应用于具有给定类名的表单(伪JS,使用库)
var el = document.getElementsByClassName('validate-me')[0];
el.on('submit', function(e){
//validate the form, stop the event if invalid
});
如果您想添加额外的标记或属性而不是这种方法,那么您肯定需要查看装饰器。