Var mı bir GÖNDER giriş alanının değerini gizlemek için Zend-Formunda şekilde inşa?

2 Cevap php

Ben bir form inşa halinde:

        $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);

With method GET. I will see in the URL gogogo=gogogo. If I was writing the markup myself, I simply wouldn't give the submit any [name] attribute and that would have solved that. Trying to set the name of a submit to '' won't work (either throws an exception or is being ignored, depends on the way you do it).
Any (built in) ideas?

2 Cevap

Bir başka olasılık formunu önce Gönder düğmesini gönderilen devre dışı olacaktır:

$go->setDecorators(array(array('ViewHelper')))
   ->setIgnore(true)
   ->setAttrib('onclick', 'this.disabled = true');

Bu şekilde, göndermek düğmesinin değeri formu gönderdikten sonra göz ardı edilecektir.

Birkaç olası seçenek vardır:

  1. Biçimlendirme oluşturmak için özel bir dekoratör kullanın, böylece bir isim özniteliği belirtilmemişse
  2. Özniteliği kaldırmak için, Zend_Form en işlemek yöntemleri tarafından döndürülen biçimlendirme bir dize değiştirme işlevini kullanın
  3. Aşağıdaki gibi sık sık, ne

Ben genellikle aşağıdakilerden biri geçerli olduğunu bu yüzden özel bir yol ekleyebilirsiniz:

 domain.tld/search/keyword
 domain.tld/search?q=keyword

Sonra anahtar kelime alanı UrlEncode özen, URL temizleyici forma yönlendirmek için javascript kullanabilirsiniz

Kullanıcıların çoğu temiz URL bu şekilde göreceksiniz.