• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Finde den Fehler bei Variabel Übergabe nicht.

tyssen

New member
Sorry ich verstehe nicht warum pos oder sel nicht übergeben wird.
Die box3_$div3 öffnet sich. Aber PostString3 übergibt die Werte nicht.
Kann mir einer helfen?

Code:
function loadContent3(url3,div3,pos,sel)
{

if (!xmlHttpObject3)
	{
    try
    {
        xmlHttpObject3 = new ActiveXObject("Msxml2.XMLHTTP");

    }
    catch(e)
    {
        try
        {
        xmlHttpObject3 = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e)
        {
            xmlHttpObject3 = null;
        }
		}
		}

    
 
    var PostString3="pos="+pos+"sel="+sel;

    	xmlHttpObject3.open("post", url3);
		xmlHttpObject3.onreadystatechange = handleContent3;
		xmlHttpObject3.send(PostString3);

	function handleContent3()
							{
    				    	if (xmlHttpObject3.readyState == 4)
   							{
   							document.getElementById("box3_"+div3).innerHTML = xmlHttpObject3.responseText;
                            }
							}
			return false;
}
Ich suche schon 5 Std. nach den Fehler.
Gruß
Michael
 
Code:
var PostString3="?pos="+pos+"&sel="+sel;

Sorry beim vielen hin und her habe ich das & vor 'sel' vergessen.
.....muss auch das '?' vor 'pos'?

Aber es funkt trotzdem nicht.
Eine Alert-Meldung bekomme ich nicht.
Es werden einfach nur die Werte nicht übergeben.
Firebug hat mir auch nicht geholfen.

Gruß
Michael Tyssen
 
AW: Finde den Fehler bei Variabel Übergabe nicht. Lösung

So sieht das besser aus:
Code:
function pos_edit(url,div,pos,pos_netto)
   {

   	  function createRequestObject()
	{
    var ro;
	var browser = navigator.appName;
	if (browser == "Microsoft Internet Explorer")
		{
    ro = new ActiveXObject("Microsoft.XMLHTTP");
		}
	else
	ro = new XMLHttpRequest;
    return ro;
	}
    var http = createRequestObject();



	var PostString="pos="+pos+"&pos_netto="+pos_netto;
	var ajxurl = url;
		http.open("POST", ajxurl, true);
		http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http.send(PostString);


     document.getElementById(div).innerHTML = '<div class=\"wi re cursor px8 rot\" > OK </div>';

	      	return false;
	}

Gruß
Michael
 
Erst möchtest du einen Rückgabewert in einem DIV ausgeben lassen.
Dann hast du Probleme mit der Wertübergabe an den Server.
Und in deinem letzten Beispiel gibst du, ohne Beachtung auf einen Erfolg oder Miserfolg eines HTTP-Requests, einfach ein "OK" in einem DIV aus.

Da stellt sich mir die Frage: Was willst du eigentlich machen?

Warum erstellst doppelte Variablen wie var ajxurl = url;, wenn du doch die Variable url einfach weiter benutzen kannst?
Deine Art das XMLHttpRequest-Objekt zu erzeugen finde ich nicht so optimal, da verschiedene Browser, wie z.B. Opera, sich als anderer Browser ausgeben können und ob dann das korrekte XMLHttpRequest-Objekt zu Verfügung steht weiß ich nicht.

Ich würde es so probieren:
Code:
function pos_edit(url,div,pos,pos_netto) {
var http = (window.XMLHttpRequest)
		?
		new XMLHttpRequest()
		:
		((window.ActiveXObject("Microsoft.XMLHTTP"))
		[B][COLOR="Red"]?[/COLOR][/B]
		new ActiveXObject("Microsoft.XMLHTTP")
		:
		false
		);
	var PostString="pos="+pos+"&pos_netto="+pos_netto;
	http.open("POST", url, true);
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.send(PostString);
	http.onreadystatechange = function() {
		if (http.readyState == 4) {
			if (http.status == 200) {
				alert(http.responseText);
				document.getElementById(div).innerHTML = http.responseText;
			}
		}
	}
}
 
Zuletzt bearbeitet:
Danke miniA4kuser,
das sieht schon richtig sexi aus.
Ich habe keine Ahnung Javascript, hatte hier damals die Gewünschte Lösung
ausgeschrieben und wollte auch was dafür bezahlen.
Das was ich bekommen habe, kann ich nur anpassen. Ich kann nur PHP für meine eigene Projekte.

Leider bekomme ich auch hier eine Fehlermeldung.
Sogar wenn ich die Funcktion nicht aufrufe, macht das alle javascripte in meiner java.js platt.

Firebug (vielleicht reicht euch ja diese Fehlermeldung):
Code:
missing ) in parenthetical
[Break on this error] var http = (window.XMLHttpRequest) ? ...Object("Microsoft.XMLHTTP") : false);\n


Wenn das funkt kann ich mein kompletten Projekt über diesen Code laufen lassen
und das finde ich wieder genial.

Gruß
Michael Tyssen
 
var http = (window.XMLHttpRequest) ? new XMLHttpRequest() : ((window.ActiveXObject("Microsoft.XMLHTTP")) ? new ActiveXObject("Microsoft.XMLHTTP") : false);
 
httpstatus ??? ist damit http.status gemeint ???

Meldung:
ReferenceError: XdebugToolbar is not defined
Line 267 / wäre dann:http.send(PostString);

welche Toolbar???

PHP soll zwar keine richtige Sprache sein, aber die spricht wenigstens mit mir.
Javascript bringt mir keiner mehr bei.
 
http.readyState == 4 bedeutet complete: Der Request wurde vollständig ausgeführt und beendet.
http.status == 200 bedeutet OK laut HTTP Version 1.0: Die Anfrage des Clienten war erfolgreich und in der Antwort des Servers sind di angeforderten Daten enthalten.
 
Zurück
Oben