SEO-Software von Suchmaschinenoptimierung.de

Ajax Window bei Eingabe mit eigenem Inhalt

(hier klicken, um zum Original Thread zu gelangen)
TrioxX
Tag,

ich habe im Moment ein kleines Script mittels Google API am Laufen. Nun möchte ich aber keine Suchmaschine basteln, sondern etwas anderes damit anstellen.

Gibt es Beispiele, die genau so aussehen/funktionieren wie etwa www.adult-portal.cc, jedoch so, dass ich eigene Inhalte in dieses Fenster einbinden kann?

Leider ist das Thema AJAX mittlerweile so weitreichend dass ich nicht wüsste, wie und wo ich starten soll...
derletztekick
Hallo,

Du willst also, dass bei jedem Buchstaben schon eine Vorauswahl an möglichen Ergebnissen getroffen wird?

Es ist eigentlich recht simple. Vom Prinzipher habe ich das hier schon mal gemacht:

dev.derletztekick.de/usermap/

dort kannst Du oben einen Ort in Deutschland eingeben zB Berlin. Ab dem dritten Buchstaben suche ich dann in der DB nach möglichen Städtenamen.

Ist es das, was Du suchst?

Gruß Micha
TrioxX
Jein. Denn so ein ähnliches Script luft schon bei mir Augenzwinkern

Wenn ich ehrlich sein soll, möchte eine Whois Abfrage umsetzen, die aber grundsätzlich so aussieht wie oben die Demo.
derletztekick
Hallo,

naja, man muss nun schon unterscheiden, was Du willst bzw. das Problem ist. Ist es ein Problem, "dieses DIV dort einzublenden" oder wirklich eine Abfrage per Ajax zu realisieren.

Wenn Du schreibst, das es " so aussieht wie oben die Demo", dann ist es ja kein Ajax-Problem mehr, da die Abfrage schon (irgendwie) funktioniert.

Daher nochmal genau, was ist Dein Problem: Ajax oder Darstellung?

Gruß Micha
TrioxX
Die Darstellung des Ganzen. Die Verarbeitung wäre mittels GET über eine seperate PHP Datei.
derletztekick
Hi,

erzeugt diese PHP-Datei auch einen Output, der so aussieht, wie der in dem kleinen Fenster in Deinem Beispiel?

Wenn ja, müsste man ja lediglich diesen in das absolut positionierte DIV packen. Wenn nein, müsstest Du den Inhalt per JS vollständig zusammenbauen.

Micha
TrioxX
Ich werde den Output der PHP entsprechend anpassen, daran solls nicht scheitern.

Eigentlich gehts nur darum, den Inhalt einer PHP Datei in diesem Fenster anzeigen zu lassen, wobei die Eingabe in das Inputfeld dann parralel an die Anwendung gesendet wird.
derletztekick
Hi,

ich kenne ja Dein System nicht. Ich stelle mir das im Moment so vor: Du sendest eine Anfrage an dieses PHP-Script. Dieses PHP-Script macht dann die Abfrage und liefert Dir einen (formartierten) Output zurück ans JavaScript. Das JS müsste nun ein DIV erzeugen und zB vie innerHTML diesen Output ins DIV setzen. So stelle ich mir das, ohne es ausprobiert zu haben, vor. Das kann man ja erstmal im "kleinen" probieren, bevor Du wild formatierst und es generell nicht geht.

Gruß Micha
TrioxX
Hi Micha,

das ist grundlegend das, was ich meine großes Grinsen

Ich habs halt nicht so mit der Artikulation ^^
TrioxX
Da es sich ja um einen Request mittels GEt handelt (alles andere ist sinnlos) hier das einfachste Beispiel, das ich habe :p

http://www.adult-portal.cc/get.php?q=Hallo
derletztekick
Hi,

perfekt ;-) Denn es geht ja auch <h1>Hallo</h1>

Kannst Du die Antwort des PHP-Scripts (also <h1>Hallo</h1>) an das Script übergeben ( httpRequest.responseText ) und mal ausgeben lassen?

code:
1:
window.alert( httpRequest.responseText );


und sagen, was dort ankommt?

Gruß Micha
TrioxX
derletztekick
Hi,

naja, perfekt. Wenn ich folgendes mache, kann ich den Inhalt ins DIV schreiben:

code:
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:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
<html>
<head>
<title>Just testing</title>

<script type="text/javascript" language="javascript">

    var http_request = false;

    function macheRequest(url) {

        http_request = false;

        if (window.XMLHttpRequest) {
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) {
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return false;
        }
        http_request.onreadystatechange = alertInhalt;
        http_request.open('GET', url, true);
        http_request.send(null);

    }

    function alertInhalt() {

        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
document.getElementById("ausgabe").innerHTML = http_request.responseText;
//                alert(http_request.responseText);
            } else {
		
                alert('Bei dem Request ist ein Problem aufgetreten.');
            }
        }

    }
</script>

</head>
<body onload="macheRequest('get.php?q=<h1>Hallo</h1>')">

IX

<div id="ausgabe"></div>

</body>
</html>


Das funktioniert also. Das DIV sollte vll das JS selbst erzeugen aber zum testen ist das schon okay so. Dieses muss nun angezeigt werden und positioniert werden, oder seh ich gerade etwas nicht?

Micha
TrioxX
Jep, das tut. Wir kommen der Sache näher ^^
derletztekick
Hi,

tja, ich weiß nun halt nicht, wo Du nicht weiter kommst. Ich wollte Dir hier eigentlich eine Hilfestellung sein und keiner, der Dir alles vorgibt.

Ich würde nun zB so weiter machen:

code:
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:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
<html>
<head>
<title>Just testing</title>

<style type="text/css">
	div#requestLayer {
		position: absolute;
		border: 2px dotted #666;
		height: 350px;
		width: 350px;
		display: none;
		left: 100px;
		top: 300px;
	}
</style>

<script type="text/javascript">

    var http_request = false;
	var http_request_layer = null;
    function macheRequest(url) {

        http_request = false;

        if (window.XMLHttpRequest) {
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) {
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return false;
        }
        http_request.onreadystatechange = alertInhalt;
        http_request.open('GET', url, true);
        http_request.send(null);

    }
	
	

    function alertInhalt() {

        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
				var str = http_request.responseText;
				// sind Daten verfuegbar?
				if (str.length > 0) {
					http_request_layer.innerHTML = str;
					http_request_layer.style.display = "block";
				}
				

            } else {
		
                alert('Bei dem Request ist ein Problem aufgetreten.');
            }
        }

    }
	
	window.onload = function(e) {
		// DOM-Browser? Wenn nicht, geht nichts (auch kein AJAX)!
		if (!document.getElementById || !document.createElement)
			return;
		
		// DIV erzeugen
		http_request_layer = document.createElement("div");
		http_request_layer.id = "requestLayer";

		document.body.appendChild(http_request_layer);
		macheRequest('get.php?q=<h1>Hallo</h1>');
		
	
	}
</script>

</head>
<body>

IX



</body>
</html>


Gruß Micha
TrioxX
Sollst du ja auch garnicht Augenzwinkern Ich arbeite ja schon dran :p

Aber nungut... Machen wir das anders: Danke für deine Mühe großes Grinsen
derletztekick
Wie gesagt, wenns Probleme gibt, dann helf ich Dir auch wieder weiter ;-)

Viel Erfolg!

Micha
TrioxX
Wenn du die Güte hättest... großes Grinsen

Ich suche etwas bestimmtes
derletztekick
Hi,

ich helfe bei den Problemen, die ich auch im Ansatz verstanden habe und einen gewissen Schwellwert überschreiten ;-)

Zu dem Problem in anderen Thread: Nimm ein DIV und mach da die Button rein. Onload machst Du dieses DIV einfach sichtbar (css).

Es ist ja letztlich nichst anderes als hier. Nur nicht onload, sondern hier wird das DIV angezeigt, wenn der Inhalt des Responds da ist...

Micha
(hier klicken, um zum Original Thread zu gelangen)



Tipp: Ranking-Konzept.de - Das SEO-Forum (Forum rund um die Suchmaschinenoptimierung) der artaxo AG.
Das große Versicherungs ABC von Versicherung.de - mit allen Aspekten der Computerversicherungen!
Fan-Foren.de, die große Community mit Musikforum ist ab sofort online.