如果我构建表单:
$search_words = new Zend_Form_Element_Text('text');
$search_words->setRequired(true)->setDecorators(array(array('ViewHelper')));
$form->addElement($search_words);
$go = new Zend_Form_Element_Submit('gogogo');
$go->setDecorators(array(array('ViewHelper')))
->setIgnore(true);
$form->addElement($go);
使用方法GET。
我将在URL gogogo = gogogo中看到。如果我自己编写标记,我根本就不会给提交任何[name]属性,这样就可以解决这个问题。尝试将提交的名称设置为''将不起作用(抛出异常或被忽略,取决于您的方式)。
任何(内置)想法?
答案 0 :(得分:1)
另一种可能性是在提交表单之前禁用提交按钮:
$go->setDecorators(array(array('ViewHelper')))
->setIgnore(true)
->setAttrib('onclick', 'this.disabled = true');
这样,提交表单时将忽略提交按钮的值。
答案 1 :(得分:0)
有几种可能的选择:
我通常添加一个自定义路线,以便以下任何一个有效:
domain.tld/search/keyword
domain.tld/search?q=keyword
然后你可以使用javascript重定向到URL的清洁形式,注意urlencode关键字字段
您的大多数用户都会以这种方式看到更清晰的网址。