Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
[JavaScript] Ausgabe Problem ! [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[JavaScript] Ausgabe Problem !


 
mydictionary
03-05-2007, 10:59 
 
Hallo,

ich habe 3 Dateien.

http.js
var Http = {
get: function(uri, callback, onrequest, onresponse) {
try {
var http = Http.createInstance();
http.onreadystatechange = function() {
if (http.readyState == 4 && http.status == 200 && callback) {
callback(http.responseText);
if (onresponse) onresponse();
}
return true;
};
if (onrequest) onrequest();
http.open("GET", uri, true);
http.send(null);
}
catch(e) {
window.alert("Http.get: " + e.toString());
}
return false;
},

createInstance: function() {
var o = null;
if (!!window.XMLHttpRequest) {
try { o = new XMLHttpRequest(); } catch (e) { o = null; }
}
else if (!!window.ActiveXObject) {
try {o = new ActiveXObject("Msxml2.XMLHTTP.4.0"); } catch (e) {
try {o = new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e) {
try {o = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
try { o = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {
try { o = new ActiveXObject("MSXML.XMLHTTP"); } catch (e) {
try { o = new ActiveXObject("MSXML3.XMLHTTP"); } catch (e) { o = null; }
}
}
}
}
}
}
return o;
}
};



client01.html
<html>
<head>
<title> Rest Client</title>
<script type="text/javascript" src="http.js"></script>
<script type="text/javascript">
function callServer(id) {
Http.get("api.php?id=" + id, callback)
}
function callback(response) {
var div = document.getElementById("msg");
div.innerHTML = response;
}
</script>
</head>
<body>
<h2> Test Client</h2>
<span onclick="callServer('e1');">Click 1</span>
<div id="msge2"></div>
<span onclick="callServer('e2');">Click 2</span>
<div id="msge1"></div>
</body>
</html>



api.php
<?php
print("Hello ".$id);
?>



hier möchte ich dass es so ist, wenn ich auf Click 1 klicke, dass Inhalt von api.php?id=e1 in <div id="msge1"></div> gezeigt wird und wenn ich auf Click 2 klicke, dass Inhalt von api.php?id=e2 in <div id="msge2"></div> gezeigt wird. Abe solche Einträge können beliebig sein.


Könnt ihr sagen, wie ich es so machen kann?

Danke!!

 
wahsaga
03-05-2007, 11:10 
 
Schön, jetzt wissen wir also, was du möchtest.

Aber wo liegt jetzt dein Problem?

 
mydictionary
03-05-2007, 11:31 
 
ich habe unten geschrieben.

Unter jeden Link gibt es ein bestimmtes Gebiet für dieses Link, wo sein Inhalt gezeigt werden soll. funktioniert es jetzt nur wenn es nur ein <div id="msg"></div>... gibt. ich möchte es aber vervielfachen.

mehrere Zeilen möchte ich und mehrere Gebiete-


<div id="msge1"></div>
<div id="msge2"></div>
<div id="msge3"></div>
<div id="msge4"></div>

und 4 verschiedene Links, die gehörige Gebiets betätigt.

MfG

 
wahsaga
03-05-2007, 11:40 
 
Original geschrieben von mydictionary
ich habe unten geschrieben.
Nein, hast du nicht.

Unter jeden Link gibt es ein bestimmtes Gebiet für dieses Link, wo sein Inhalt gezeigt werden soll. funktioniert es jetzt nur wenn es nur ein <div id="msg"></div>... gibt. ich möchte es aber vervielfachen.
Schon wieder nur das, was du "möchtest".

Wo - liegt - dein - Problem bei der Umsetzung dieses Vorhabens?

 
mydictionary
03-05-2007, 12:24 
 
function callServer(id) {
Http.get("api.php?id=" + id, callback)
}
function callback(response) {
var div = document.getElementById("msg");
div.innerHTML = response;
}

hier diese funktionen hilft nur wenn ich ein div mit id=msg habe. Die muss ich so machen dass es in jede numerierte div andere inhalte gezeigt wird.

Können Sie in Funktion sehen. Also was ich möchte, Sie werden verstehen. Was ich habe ist nur für id=msg aber möchte ich das vervielfachen und auf Click 1 klickt man und erhält man Ihhalt unter div mit id=msge1 und wenn ich auf Click 2 klicke dann erhalte ich Inhalt unter div mit id=msge2


ist immer noch nicht verständlich?=

 
wahsaga
03-05-2007, 12:28 
 
Was du möchtest, ist mir schon von Anfang an klar ...


Derzeit wird immer auf das Element mit der ID "msg" zugegriffen, das Ergebnis dort reingeschrieben.

Du willst aber jetzt stattdessen auf die Elemente mit den IDs msge1, msge2, ... zugreifen - also ändere die Funktion so, dass sie genau das macht.

 
Kropff
03-05-2007, 12:28 
 
und was hindert dich daran, die funktion um einen parameter zu erweitern und dann entsprechend anzuwenden?

function callServer(id, msgbox) {
...
var div = document.getElementById("msg" + msgbox);


peter

 
jahlives
03-05-2007, 12:30 
 
Dann erweitere deine Funktion doch um einen zweiten Parameter der die id des divs festlegt, wo die Ausgabe erfolgen soll.

Gruss

tobi

 
mydictionary
03-05-2007, 13:35 
 
var div = document.getElementById("msg" + msgbox);

das hier ist aber nicht unter der Funktion function callServer(id, msgbox) {......

deswegen wird msgbox nicht weitergegeben.

Ich weiss nicht wie ich eine variable zu callback funktion übergeben kann.

 
Kropff
03-05-2007, 13:44 
 
das kommt davon, wenn man sich fremden code zieht, ohne ihn zu verstehen. du musst die variable msgbox durchschleifen (soweit ich den code überhaupt begreife). also in callServer und callback als zweiten parameter einbauen und dann noch hier
function(uri, callback, msgbox, onrequest, onresponse)
und hier
callback(http.responseText, msgbox);
ansonsten probieren und die fehlerkonsole vom firefox nutzen.

peter


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:40 Uhr.