禁用zend表单元素输入按键事件

时间:2012-10-11 16:32:44

标签: php forms zend-framework

有谁知道如何禁用zend元素文本输入控件的Enter keypress事件?当用户在表单元素上按Enter键时,它会尝试发布,我想要禁用它。

2 个答案:

答案 0 :(得分:2)

这是您需要做客户端的事情(即使用Javascript)。使用Dojo,它将类似于:

dojo.connect(dojo.byId('FIELDID'), 'onkeydown', function(event){
    if (event.keyCode == dojo.keys.ENTER) {
        dojo.stopEvent(event);
    }
});

将'FIELDID'替换为要将其挂钩的文本字段的ID。如果要将其应用于表单中的所有内容,可以将其与dojo.query调用结合使用。

jQuery和其他JS框架将具有相同的功能。

答案 1 :(得分:0)

我认为这应该可以解决你的问题

$textField = new Zend_Form_Element_Text("text");
$textField->setAttrib('onkeypress', 'nullifyEnterKey();');
function nullifyEnterKey(e)
{
    var key;      
    if(window.event)
          key = window.event.keyCode; //IE
     else
          key = e.which; //firefox      
     return (key != 13);
}