Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework Zend Framework:如何创建带有标签的文本字段和不带标签的提交按钮的子表单?_Zend Framework_Submit_Textfield_Zend Decorators_Zend Form Sub Form - Fatal编程技术网

Zend framework Zend Framework:如何创建带有标签的文本字段和不带标签的提交按钮的子表单?

Zend framework Zend Framework:如何创建带有标签的文本字段和不带标签的提交按钮的子表单?,zend-framework,submit,textfield,zend-decorators,zend-form-sub-form,Zend Framework,Submit,Textfield,Zend Decorators,Zend Form Sub Form,我想显示一个GUI,比如 $sfKeyword = new Zend_Form_SubForm(); // text field $tfKeyword = $sfKeyword->createElement('text', 'keyword'); $tfKeyword->setLabel('Search Keyword:'); // add elements $sfKeyword->addElement($tfKeyword); $sfKeyword->addElem

我想显示一个GUI,比如

$sfKeyword = new Zend_Form_SubForm();

// text field
$tfKeyword = $sfKeyword->createElement('text', 'keyword');
$tfKeyword->setLabel('Search Keyword:');

// add elements
$sfKeyword->addElement($tfKeyword);
$sfKeyword->addElement('submit', 'submitSqlKeywordCheckerForm', array('label' => 'Check'));

// prepend labels        
$sfKeyword->setElementDecorators(array(
    'ViewHelper',
    'Errors',
    array('Label', array('placement' => 'prepend')),
));
但以下内容会显示出来:

[textfield label] [textfield] [submit button]
上面代码的问题是submit按钮需要一个用于按钮的标签,但我不希望标签显示在按钮的左侧,这是装饰师无法回避的

[textfield label] [textfield] [submit button label] [submit button]
我基本上有两个选择:

  • 抑制“提交”按钮的文本标签(不是按钮内的标签)或

  • 删除标签装饰器并在文本字段前手动添加简单文本

  • 我不知道如何在没有隐藏输入的情况下将简单文本添加到表单中,而隐藏输入也必须被标记,所以这也没有任何帮助

    我该怎么做?
    谢谢

    如果要删除“提交”按钮的标签,请仅尝试以下操作:

    array('Label', array('placement' => 'prepend')),
    

    希望这能对您有所帮助。

    IIRC我以前试过这个,但不知道为什么不起作用。我刚刚添加了这一行,不,它不起作用,支票标签仍然显示。请看这里:我也尝试了中的解决方案,但标签仍然存在。@Kawu。您是否在$sfKeyword->setElementDecorators(..)之后添加了它?应该在这个方法调用之后添加它。非常感谢,我现在就可以使用它了。我想我必须更好地理解Zend_Form decorators和order之类的东西,这在总体上仍然给我带来问题。
    $sfKeyword->getElement('submitSqlKeywordCheckerForm')->removeDecorator('label');