Yii Framework Forum: AJAX Form absenden und verarbeiten - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

AJAX Form absenden und verarbeiten Rate Topic: -----

#1 User is offline   Lollinger.de 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 79
  • Joined: 19-May 09
  • Location:Ulm, Germany

Posted 26 November 2009 - 08:50 AM

Hallo,

ich habe gerade meine liebe not mit Yii und ajax. Wie kann ich den eine Form absenden und diese Werte dann in einer bereits vorhanden Action ausführen. Die Werte sollen dabei über Post übergeben werden. Dazu soll ein Button verwendet werden. Ich hoffe ihr könnt mir helfen.

Grüße

Martin
0

#2 User is offline   Mike 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 3,013
  • Joined: 06-October 08
  • Location:Upper Palatinate

Posted 26 November 2009 - 09:11 AM

Hilft dir das hier weiter:
http://www.yiiframew...ngen-speichern/
0

#3 User is offline   thyseus 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 300
  • Joined: 18-April 09
  • Location:Leipzig, Germany

Posted 26 November 2009 - 09:52 AM

Habe just in diesen Moment genau das realisiert, was du vorhast.

Das Geheimnis ist der ajaxSubmitButton...

In etwa so:

<?php
echo CHtml::form();
echo CHtml::DropDownList("searchid", " - Suche nach - ",
CHtml::listData(Tags::model()->findAll(), "id", "Tag"));
echo CHtml::ajaxSubmitButton('Suchen', CHtml::normalizeUrl(array('site/search')), array('update' => '#result'));
echo CHtml::endForm();
?>

</form>
<?php if (!Yii::app()->user->isguest) {
echo CHtml::link("[ Suchoptionen bearbeiten ]", array("tags/admin"));
}
?>
<div id="result">
</div>


Dann im Controller:

 public function actionSearch() {
    $tag = Tags::model()->findByPk($_POST['searchid']);
    $sites = $tag->sites;
    $this->renderPartial('result', array('sites' => $sites));
}


Und, weils so schön ist, liefere ich auch noch meinen result-view dazu mit aus:

<?php if($sites == array()): echo "Keine Ergebnisse gefunden."; else: ?>
Suchergebnisse:

<ul>
<?php
foreach($sites as $site) {
  echo "<li>".CHtml::link($site->title, CController::createUrl('site/show', array('id' => $site->id)))."</li>";
}
?>
</ul>

<?php endif; ?>


Eigentlich schon selbsterklärend - bei konkreten Fragen bitte nochmal hier deine Frage präzisieren.
1

#4 User is offline   Lollinger.de 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 79
  • Joined: 19-May 09
  • Location:Ulm, Germany

Posted 26 November 2009 - 12:54 PM

Funktioniert super, vielen dank!
0

#5 User is offline   Lollinger.de 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 79
  • Joined: 19-May 09
  • Location:Ulm, Germany

Posted 27 November 2009 - 02:39 AM

Noch ein kleiner Zusatz. Vielleicht sollte man das Beispiel ins Cookbook aufnehmen da dort recht wenig zum Thema AJAX vorhanden ist.

Wie verhält sich das eigentlich mit normalem selbst eingefügem js code. Gibt es da methoden um de zu registrieren oder wie sollte das am besten gehandhabt werden? Extra File?
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users