更改Zend Form行为以在提交时调用JS函数

时间:2010-10-04 08:05:18

标签: zend-framework zend-form

我想更改Zend_Form的默认行为,这样无论何时单击提交按钮,都会阻止表单提交并调用任意JavaScript函数。这将在网站上的所有表单中完成,但是要调用的实际JS函数可能会从表单更改为表单。

最合适的方法是什么?通过提交元素上的自定义装饰器?你能提供一些提示吗?

感谢。

1 个答案:

答案 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
});

如果您想添加额外的标记或属性而不是这种方法,那么您肯定需要查看装饰器。