form submit - inhalt via ajax weiterleiten ohne siterefresh :(

hab ein form:

 <form  name="form" method="post" action="#" onsubmit="return validate()">
<input type="text" name="name" value="" size="46" />
<input type="submit" name="submitComment" value="Kommentar abschicken"/>
</form>

will das an das script weiterleiten, das es dann intern an eine php schickt, die es checkt und dann in ein den status der transaktion schreibt.
ich kann die seite nicht refreshen lassen, da das ganze in einer visible gemachten div box stattfindet.

hier das js:

function validate (){
    var name = document.forms.form.elements.name.value;

    requestObject.open('get', 'validateForm.php?name='+name, true);
    requestObject.onreadystatechange = handleValidate;
    requestObject.send(null);
}

function handleValidate(){
    if (requestObject.readyState == 4 && requestObject.status == 200) {
        document.getElementById("validationResponse").innerHTML = "Bitte warten...";
    }
    if (requestObject.readyState == 4){
        document.getElementById("validationResponse").innerHTML =
        requestObject.responseText;
    }
}

die validateForm.php soll erst mal den namen printen, der dann in das validationResponse geschrieben wird.
leider wird aber nach dem submit das form abgeschickt und die seite neu geladen.
soll er aber nicht.
kann ich die formdaten iwie anders an das script schicken, das es dnan weiter an die andre php schickt die mir dann den status zurück gibt.
wie gesagt, wnen die seite refreshed ist alles verloren und das div wieder invisble…

return false; in validate()

cool ey! danke. genau was ich suchte!

weisst du auch wieso es nur mit GET funktioniert?
ich bräuchte allerdings POST, da GET ja auf 255 Zeichen begrenzt ist…

ich erhalte weder Bitte warten… noch ne ausgabe… hhmm?

wenn ich beim .open einfach ‚post‘ schreibe und die variable mit $_POST hole passiert nix…

Um einen POST abzusetzen musst du noch ein wenig mitschicken: Using POST method in XMLHTTPRequest(Ajax)

super!
funktioniert alles wie ich will.
besten dank nochmal!
wieder was gelernt :slight_smile:

Das ist zwar jetzt etwas off-topic, aber warum machst Du sowas?
Ich habe mich erst heute hier im Forum darüber geärgert, dass der Antworteditor sogar nach einem zurück/vor in der History verschwunden ist (und mit ihm der gesamte geschriebene Text). Ich empfinde diese Ajax- (oder „Web 2.0“)-Spielereien als extrem nutzerunfreundlich. Denk mal drüber nach, ob das nicht auch anders geht.

Wenn es hier natürlich um irgendeine Web-Applikation mit eingeschränktem Zugriff und nicht um eine normale Website geht, dann ist der Kommentar vermutlich hinfällig. Dann beachte ihn einfach nicht.