beginForm - Action

Hi, es geht um folgenden Code




	<?php echo CHtml::beginForm(array('engine/search'), 'get', array() ); ?>

		<input type="text" id="searchfield"/>

		<?php echo CHtml::submitButton('Go', array('name' => 'searchword')); ?>

	<?php echo CHtml::endForm(); ?>



Der Code wird folgendermaßen RICHTIG umgesetzt




<form method="get" action="/blog2/index.php?r=engine/search">

<input id="searchfield" type="text"/>

<input type="submit" value="GO" name="searchword"/>

</form>



Wenn ich nun auf den Button klicke ändert sich die Adresszeile nicht zu


http://localhost/blog2/index.php?r=engine/search?=searchfield=XYZ

sondern zu


http://localhost/blog2/index.php?searchword=XYZ

Sieht jemand den Fehler?

Hi,

wenn ich mich recht entsinne funktionieren Parameter in der Form-Action nur mit der POST-Methode.

Da du das allerdings per GET machen möchtest, empfehle ich dir einfach ein weiteres Hidden-Feld in die Form aufzunehmen, das den Name ‘r’ und das Value ‘engine/search’ hat.

Btw: das Inputfeld sollte einen Namen haben!

Schönen Gruß

Das klappt soweit, auch wenn ich nicht verstehe, warum das mit GET nicht funktioniert.

Nun stoße ich auf folgende Probleme.

http://localhost/blog2/index.php?r=engine%2Fsearch&value=xyz&yt0=GO

  1. %2F als Trennzeichen

  2. Warum wird das Submitbutton in der URL übergeben?

Hi,

  1. Der Slash wird URL-kodiert, aber das stört die Anwendung überhaupt nicht.

  2. Weil er Bestandteil des Formulars ist und immer mit übertragen wird.

Cheers

Kann ich ihn denn, "schön" kodieren??