Antwort
 
Themen-Optionen Thema durchsuchen
Alt 31.01.2006, 00:14 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 15
Standard AJAX, Title updaten like "VBulletin"

Tja, auch ich komme mal an meine Grenzen. Bin gerade am JS lernen, und wie immer verfolge ich dabei: Learning by Doing

Beschäftige mich gerade mit Ajax, und wollte das Themen bearbeiten "Online" von VBulletin nachbauen. (Siehe hier)

Hab schon ein kleines Script gefunden: Klick

Tja, aber bei den Umbauarbeiten komm ich nicht weiter. Wollte die Funktionen so umschreiben, das ich ganz einfach in der div als onlick-Event "showForm('id_des_divs')" angeben muss... Habe ja mehrere Divs die ich so bearbeiten müsste,nicht nur 1

Entweder das Formularfeld verschwindet nach dem abschicken nicht, oder er updatet nicht, oder oder oder.... HILFE

Ich weiß das das nicht gerne gesehen ist in Foren, und normalerweise code ich solange bis es geht, aber diesmal bin ich mit meinem Latein am Ende.
Kann mir jemand das Script umschreiben auf meine Anforderung, oder wenigstens einen kleinen Tip geben?

Danke schon im Voraus

Greez
GroundZero ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 31.01.2006, 15:20 Nach oben    #2
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.467
Standard

willst du, dass das jmd. anderes für dich erledigt?
Oder möchtest du wissen/lernen, wie das geht?
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 31.01.2006, 20:07 Nach oben    #3
Neuer Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 15
Standard

Wenn schon, dann lernen. Ich baue nur Sachen ein die ich auch verstehe

Hab den Code mal auseinandergerissen, und nur mal versucht das Formular nach einem Doppelklick anzeigen zu lassen. Code zum abspeichern kommt dann wieder später...

HTML-Code:
<script type="text/javascript">
function showForm(ele_id) {
    document.getElementById(ele_id).innerHTML = "<form><div><input name=\"value\" size=\"20\" value=\"Hallo\" /><input type=\"hidden\" name=\"ele_id\" value=\""+ ele_id +"\" /></div></form>";
    window.onsubmit = submitForm;
    document.getElementById(ele_id).ondblclick = function(){return true;}
}

function submitForm() {
    var value = document.getElementsByName('ele_id')[0].value;
    xmlRequest('test.php',value);
    document.getElementById('title').ondblclick = showForm;
    return false;
}

function xmlRequest(url,ele_id) {
    http = false;
    if(window.XMLHttpRequest) { // Mozilla, Safari,...
        http = new XMLHttpRequest();
        if(http.overrideMimeType) {
            http.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

   if(!http) {
        alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return false;
    }

    http.onreadystatechange = updateContent;
    http.open('GET', url, true);
    http.send(null);
}

function updateContent(ele_id) {
    if(http.readyState == 4) {
        if(http.status == 200) {
            document.getElementById('title').innerHTML = http.responseText;
        } else {
            alert('Bei dem Request ist ein Problem aufgetreten.');
        }
    }
}

</script>

<div id="title" ondblclick="javascript:showForm('title')">
	Vor dem editieren
</div> 
Ist natürlich nur Testcode, und n Profi würd sich würgen wenn er das sieht

Zu meinem Problem:
Der Funktion "updateContent(ele_id)" muss ich jetzt noch die gewünschte ID übergeben. Leichter gesagt als getan. Editiere ich die Zeile
HTML-Code:
http.onreadystatechange = updateContent;
zu
HTML-Code:
http.onreadystatechange = updateContent('title');
wird zwar das Formular nach einem Doppelklick angezeigt, aber absenden funktioniert dann nicht mehr. Das Formular bleibt dauerhaft.

Jemand ne Idee?

Greez GroundZero
GroundZero ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[AJAX] Eine Einführung in AJAX und XMLHttpRequest Jay Tutorials 1 08.12.2006 16:21


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:12 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45