Antworten auf deine Fragen:
Neues Thema erstellen

Javascript | Reload von Formular unterbinden

MasterT

Nicht mehr ganz neu hier

Hallo,
ich möchte eine Suche die via Ajax und Javascript arbeitet damit kein Reload entsteht! Ich habe folgenden Code

HTML:
PHP:
<form onsubmit="return searchFor(this.form.suche.value)">
    <input type="text" autofocus="autofocus" name="suche"/> 
</form>

Javascript:
PHP:
function searchFor(suchbegriff){
    var xmlHttp = null;
    // Mozilla, Opera, Safari sowie Internet Explorer 7
    if (typeof XMLHttpRequest != 'undefined') {
        xmlHttp = new XMLHttpRequest();
    }
    if (!xmlHttp) {
        // Internet Explorer 6 und älter
        try {
            xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            try {
                xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
                xmlHttp  = null;
            }
        }
    }
    // Wenn das Objekt erfolgreich erzeugt wurde            
    if (xmlHttp) {
        var url = "suche.php";
        var params = "suchbegriff="+suchbegriff;
        
        xmlHttp.open("POST", url, true);
        
        //Headerinformationen für den POST Request
        xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded, charset=UTF-8");
        xmlHttp.setRequestHeader("Content-length", params.length);
        xmlHttp.setRequestHeader("Connection", "close");                    
    
        xmlHttp.onreadystatechange = function () {
            if (xmlHttp.readyState == 4) {
                // Zurückgeliefertes Ergebnis wird in den DIV "ergebnis" geschrieben
                document.getElementById("ergebnis").innerHTML = xmlHttp.responseText;
            }
        };                
        xmlHttp.send(params);
    }
    return false;            
}

Wieso wird trotz dem gesetzten return false eine reload gemacht?

Lg
Phill
 

hub

nicht ganz neu hier

AW: Javascript | Reload von Formular unterbinden

Moin moin,
das Formular wird gesendet, da ein Fehler im Script dafür sorgt, das die Funktion vorzeitig abgebrochen wird und nie ein false zurück gibt.
Das Problem ist, das dein input dort nicht gefunden werden kann und den Fehler auslöst. Du kannst das umgehen, wenn du z.B. dem Input eine id="suche" verpasst und den Inhalt so abfragst (es folgen nur Frgmente):
PHP:
<script type="text/javascript">
function searchFor(){
    suchbegriff=document.getElementById('suche').value;
    ...    

<form onsubmit="return searchFor()">
    <input type="text" autofocus="autofocus" name="suche" id="suche"/>
Das ist nur eine von vielen Möglichkeiten ...

Gruß Ulli
PS: netbandit war schneller und die Lösung kürzer :)
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben