Ergebnis 1 bis 6 von 6

Thema: [PHP]/[JavaScript] php-funktion mit javascript ins action-form schreiben

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Ich versteh zwar beim besten Willen nicht, warum du bei so etwas simplen die PHP Datei nicht gleich in das action-Attribut schreiben kannst, aber du kannst dem form ein onsubmit="this.form.action = 'blubb.php'" verpassen

    Geändert von dead_orc (24.11.2007 um 10:30 Uhr)

  2. #2
    Zitat Zitat von dead_orc Beitrag anzeigen
    Ich versteh zwar beim besten Willen nicht, warum du bei so etwas simplen die PHP Datei nicht gleich in das action-Attribut schreiben kannst, aber du kannst dem form ein onsubmit="this.form.action = 'blubb.php'" verpassen
    php läuft serverseitig ab. sobald ich festes PHP ins action-attribut schreibe wird es ausgeführt sobald ich die seite neu lade und javascript hingegen läuft in deinem browser ab

    deine version hilft mir leider auch nicht weiter

  3. #3
    Ich versteh auch nicht so ganz den Sinn, kann mir aber denken was du möchest.
    Die einfachste Lösung würde mit Ajax gehen. Wenn du Prototype benutzen möchtest, kannst du die Form-Action mit Ajax machen:

    Ajax-Funktion:
    Code:
    function doRequest()
    {
    new Ajax.Request('blubb.php',{ method: 'post',
    postBody:
    'title='+document.getElementById('TitleInput').value+'&content='+document.getElementById('ContentInput').value+'&mood='+document.getElementById('MoodInput').value });
    }
    Form:
    HTML-Code:
    <form name="formular" method="post" action=""  onsubmit="doRequest(); return false;">
    Hier gibt's noch den Api Doc Artikel zur Request-Funktion.

    Mfg Milchbox

  4. #4
    Das ist völig nutzlos, solange man nicht vorhat, das JavaScript-Framework Prototype einzubinden - und das wäre hier Overkill. Seht euch mal die angehängte Datei an; die verwende ich. (Und man sieht mal wieder schon, daß für den IE Extrawürste nötig sind, wenn auch immerhin nur für IE <= 6.) Ist zwar nicht so extrem robust (falls die Anfrage fehlschlägt tut mein Code einfach gar nichts) aber er erfüllt seinen Zweck.

    Hier ein minimales Beispiel, wie die Funktion verwendet wird:
    HTML-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
     "http://www.w3.org/TR/html4/strict.dtd">
    <html>
      <head>
        <title>Bla.</title>
        <script type="text/javascript" src="ajax.js"></script>
      </head>
      <body>
        <div id="target">
          Hier wird hinterher der Inhalt von <i>andereDatei.html</i> stehen.
          Dieser Text wird dann verschwinden.
        </div>
        <div>
          <a href="javascript:fetchData('andereDatei.html', 'target')>Test</a>
        </div>
      </body>
    </html>
    Wenn du auf den Link klickst wird der Inhalt von andereDatei.html in das <div> mit der id target geladen. Falls du eine PHP-Datei lädst so wird diese erst von Server ausgewertet (tatsächlich stellt dein Browser eine ganz normale Anfrage nach der Datei und fügt die Antwort des Servers dann in die aktuelle Seite ein).

    Du kannst per AJAX allerdings nur ganze Tags mit Inhalt füllen, also sollte das PHP-Skript, das du aufrufen willst, den gesamten Inhalt der zu füllenden Tags (in diesem Fall also effektiv das ganze Formular) zurückgeben.
    Angehängte Dateien

  5. #5
    für ne einfache funktion wie ich sie hab sind die möglichkeiten die sich mir bieten relativ umfangreich und kompliziert zugleich und mit AJAX will ich mich momentan noch gar nich beschäftigen ergo nehm ich die einfachste variante die ich eigentlich vermeiden wollte und überg direkt an ein externes dokument. dennoch danke für die tipps/tricks. ich werd die mir trotzdem mal speichern für den fall der fälle

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •