| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: [Ajax] Formular und Post im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Hallo ! Ich habe hier ein Problem und komme irgendwie mit den Beschreibungen die ich gefunden habe nicht klar. Liegt ...
![]() |
| | #1 (permalink) |
| Registriert seit: 19.08.04 ![]() Likes: 1 | Hallo ! Ich habe hier ein Problem und komme irgendwie mit den Beschreibungen die ich gefunden habe nicht klar. Liegt eventuell an der Uhrzeit. Ich habe ein Formular (grob) : HTML-Code: <form name="support" method="post"> <input type="text" name="name"> <input type="text" name="mail"> <a href="javascript:sentRequest('support.php')">Ticket erstellen</a> </form> Code: function sentRequest(url){
if (window.XMLHttpRequest) {
request = new XMLHttpRequest(); // Mozilla, Safari, Opera
} else if (window.ActiveXObject) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
} catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
} catch (e) {}
}
}
if (!request) {
alert("Kann keine XMLHTTP-Instanz erzeugen");
return false;
}
else {
request.open('POST', url, true);
request.send(null);
request.onreadystatechange = interpretRequest;
}
} |
| | |
| | #2 (permalink) |
| Senior Member | Nur Vermutungen: Code: request.send(null); Was theoretisch auch sein könnte daß am Pfad zur support.php was nicht stimmt und deine Daten ins Nirvana geschickt werden. |
| | |
| HaBOT | |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 19.08.04 ![]() Likes: 1 | Hi ! Pfad zur support.php passt.Die Daten werden in eine DB geschrieben.Einträge sind vorhanden nur die Daten aus dem Formular kommen nicht an. Hier sind die DB Felder leer. Ich komme irgendwie gerade nicht weiter ... |
| | |
| | #4 (permalink) |
| Registriert seit: 17.03.04 ![]() Likes: 1 | Liest Du die Antworten? Wenn ja, dann sollte Dir aufgefallen sein, dass odigo Dich darauf hingewiesen hat, dass Du keine Daten an die send()-Methode übergibst. Wie soll den im Request was sein, wenn Du keine Daten sendest.
__________________ Mfg Basic Avid - Use it or be used! - |
| | |
| | #5 (permalink) |
| Themenstarter Registriert seit: 19.08.04 ![]() Likes: 1 | Hallo ! Natürlich lese ich die Antworten, ich suche/brauche ja Hilfe ![]() Die Datei support.php ist korrekt. Ich habe diese mal mit $_GET aufgerufen und die Daten werden korrekt abgespeichert. HTML-Code: <form name="ticketSystem"> <input type="text" name="subject"> <input type="text" name="message"> <a href="javascript:sentRequest('support/ticket.php');">Ticket erstellen</a> </form> Ich habe das JS mal bearbeitet : HTML-Code: function sentRequest(url){
request = getAjaxReqObject();
if (!request) {
alert("Kann keine XMLHTTP-Instanz erzeugen");
return false;
}
else {
request.open('GET', url, true);
request.send("subject=subject&message=message");
} Ich komme irgendwie nicht weiter. |
| | |
| | #6 (permalink) |
| Registriert seit: 17.03.04 ![]() Likes: 1 | Oh uh ah, mein Fehler. Ich hab schon sehr lange keinen Async-Request mit einem XMLHttpRequest-Object abgesetzt. Du musst natürlich die Daten an deine URL hängen. Code:
xmlHttp.open('GET', url?key=value&key2=value2, true);
xmlHttp.send(null);
xmlHttp.onreadystatechange = responseHandler;
__________________ Mfg Basic Avid - Use it or be used! - |
| | |
| | #7 (permalink) |
| Themenstarter Registriert seit: 19.08.04 ![]() Likes: 1 | WOW ![]() Mit Prototype ist es echt total easy. Habe mir gerade den Code auf der Seite angeschaut und klappt ohne Probleme. Eine Frage hätte ich noch : HTML-Code: <form id="create-support-ticket" method="POST" action="support/createTicket.php"> ![]() Ich würde gerne wieder die support.php Seite anzeigen. Ich lade die per Ajax in ein div.Hierfür nutze ich die Funktion HTML-Code: load('support.php'); HTML-Code: $('create-support-ticket').request({
onComplete: function(){
load('support.php');
}
}) |
| | |
| | #8 (permalink) |
| Registriert seit: 13.02.06 ![]() Likes: 1 | load bei jquery (hier nachzulesen: http://api.jquery.com/load/) sollte schon auf ein div aufgerufen werden also: HTML-Code: $('#deindiv').load('support.php'); |
| | |
| | #9 (permalink) |
| Themenstarter Registriert seit: 19.08.04 ![]() Likes: 1 | Hallo ! Load ist meine eigene Funktion.Ich habe mir die selber mit Ajax gebaut. Muss es dann wie folgt lauten HTML-Code: <!-- Formular -->
$('create-support-ticket').request();
$('#supportContent').load('support/support.php'); |
| | |
| | #10 (permalink) |
| Registriert seit: 17.03.04 ![]() Likes: 1 | Ich zeig Dir mal schnell wie ich solche Ajax-Requests mit Prototype abschicke. HTML-Code: <form onsubmit="return false;" action="deine_seite.php" method="post" id="deine_form_id"> <!-- Deine Input-Felder usw. --> <input type="submit" name="save" id="save" /> </form> <script type="text/javascript" language="javascript"> $('save').observe('click', saveData); function saveData(event) { new Ajax.Request('deine_seite.php', { method: 'get', parameters: $('deine_form_id').serialize(), onSuccess: handleResponse }); } function handleResponse(response) { if (!response.responseText.isJSON()) { $('updateErrors').innerHTML = ""; $('updateErrors').innerHTML = "<p class='success'>"+response.responseText+"</p>"; $('updateErrors').style.display = "block"; return; } var data = response.responseText.evalJSON(); var error = "<p class='error'>"; if (typeof(data) == 'object') { for (var item in data) { error += data[item] + "<br />"; } } else { for (var i = 0; i < data.length; i++) { error += data[i] + "<br />"; } } error += "</p>"; $('updateErrors').innerHTML = error; $('updateErrors').style.display = "block"; } </script> Die handleResponse-Methode dient bei mir dazu, Meldungen über den Status auszugeben, das können Error-,Warning-& Success-Messages sein. Serverseitig darfst Du natürlich nur das zurück geben was Du ausgeben willst.
__________________ Mfg Basic Avid - Use it or be used! - |
| | |
| | #11 (permalink) |
| Themenstarter Registriert seit: 19.08.04 ![]() Likes: 1 | Langsam ist es mir echt zu blöd ![]() Wenn ich deinen Code nehme, passiert nichts. Mit HTML-Code: $('create-support-ticket').request(); HTML-Code: $('create-support-ticket').request(); Bin kurz davor ein PHP-Code: |
| | |
| | #12 (permalink) |
| Registriert seit: 17.03.04 ![]() Likes: 1 | Nur nicht verzweifeln. Dein Code: 1) Ajax-Request wird abgeschickt? 2) Hast Du ein return; nach dem speichern der Daten drin? 3) Könntest Du mal ein bisschen mehr Code zeigen? Mein Code: 1) Hast Du den Code angepasst, dass er für Dich passt? 2) Welche Fehlermeldung kommt? (Mal mit Firebug schauen) 3) Was macht er bei meinem Code nicht/wie weit kommt er?
__________________ Mfg Basic Avid - Use it or be used! - |
| | |
![]() |
| | |
| |
| Themen-Optionen | |
| Ansicht | |
| |