我想在表单中添加一个简单的复选框:
$element = new Zend_Form_Element_Checkbox('dont');
$element->setDescription('Check this box if you don\'t want to do this action.');
$form->addElement($element);
但是,这就是html的样子:
Don't attach a bulletin. I only want to send an email.
这个问题是我使用jQuery来隐藏DT 内部标签和DD内部隐藏元素的所有DT/DD (因此我的html将验证并且隐藏的元素不会占用空间这页纸).有没有办法使用a Zend_Form_Element_Checkbox而不必显示隐藏的输入元素?我宁愿不搞乱我的jQuery代码添加更多警告,但如果必须的话,我会.
解:
显然,我不能/不应该在checkbox元素之前删除隐藏元素.所以这是我的jQuery代码隐藏所有隐藏的表单元素在页面上显示:
//fix zf hidden element from displaying
$('input[type=hidden]').filter(function() {
var noLabel = $(this).closest('dd').prev('dt').html() === ' ';
var onlyChild = $(this).is(':only-child');
if (noLabel && onlyChild) {
return true;
}
return false;
}).each(function() {
$(this).closest('dd').hide()
.prev('dt').hide();
});