- Registriert
- 02.04.04
- Beiträge
- 411
Ich hab eine kleine Frage zur Thematik AJAX resp. Prototype.
Fangen wir mal von vorne an. Ich habe eine Liste mit Eintraegen (diese Eintraege bestehen aus einer Ueberschrift und einem Textkoerper, in der Liste werden aber nur die Ueberschriften angezeigt.). Wenn man auf die einzelnen Elemente der Liste klickt, oeffnet sich ein neues DivElement, das in Abhaengigkeit der Eintragsid den jeweiligen Textkoerper zeigt.
In diesem Div ist ein Formular eingearbeitet, die Textarea zeigt den Textkoerper. Man kann also den Eintrag bearbeiten.
Nun habe ich das Problem, dass das Formular immer die Seite im "action" Attribut aufruft.
Der Code des Formulars:
Die JavaScriptfunktion:
Nun ist die Frage, wie ich mit Prototype solche eine Formularverabeitung im Hintergrund laufen lassen kann ? Das entsprechende PHP Skript zum Speichern in der Datenbank funktioniert.
Da ich im Anhang einen Screenshot poste, kann ich vielleicht das Ziel noch verdeutlichen: Nach Klick auf den 'Speichern' Button, soll sich das 'div' Element schliessen (display.style="none").
Danke fuer eure Hilfe.
Fangen wir mal von vorne an. Ich habe eine Liste mit Eintraegen (diese Eintraege bestehen aus einer Ueberschrift und einem Textkoerper, in der Liste werden aber nur die Ueberschriften angezeigt.). Wenn man auf die einzelnen Elemente der Liste klickt, oeffnet sich ein neues DivElement, das in Abhaengigkeit der Eintragsid den jeweiligen Textkoerper zeigt.
In diesem Div ist ein Formular eingearbeitet, die Textarea zeigt den Textkoerper. Man kann also den Eintrag bearbeiten.
Nun habe ich das Problem, dass das Formular immer die Seite im "action" Attribut aufruft.
Der Code des Formulars:
Code:
/** schnipp **/
$str .= "<form action='../helper/news_ajax.php' method='POST'>";
$str .= "<input type='hidden' value='".$key['nid']."' name='id'/>";
$str .= "<textarea name='news_text'>".htmlentities($key['newsText'])."</textarea>";
$str .= "<input type='submit' name='ajax_submit' value='speichern' onclick='kat_save'/>";
$str .= "</form>";
Die JavaScriptfunktion:
Code:
function kat_save(){
var pars = 'cid='+escape($F('bews_text'))+'&nid='+escape($F('id'));
alert(pars);
new Ajax.Request("helper/kat_ajax_save.php", {
onSuccess: end_kat_save,
onFailure : function(resp) {
alert("Oops, there's been an error.");
},
parameters : pars
});
}
Nun ist die Frage, wie ich mit Prototype solche eine Formularverabeitung im Hintergrund laufen lassen kann ? Das entsprechende PHP Skript zum Speichern in der Datenbank funktioniert.
Da ich im Anhang einen Screenshot poste, kann ich vielleicht das Ziel noch verdeutlichen: Nach Klick auf den 'Speichern' Button, soll sich das 'div' Element schliessen (display.style="none").
Danke fuer eure Hilfe.