Problem: JavaScript

  • #1
C

Ciryx

Bekanntes Mitglied
Themenersteller
Dabei seit
07.01.2004
Beiträge
135
Reaktionspunkte
0
Ort
Zürich
Gut ok! Ich bin Neuling. Das weiss ich ja. Ich erlaube mir trotzdem diese Frage :D

in meiner test.html habe ich folgende zwei div's:

Code:
<div onclick=bla() id=nav>About</div>
<div onclick=bla() id=nav>Contact</div>

Mein Frage nun: Wie kann ich anschliessend in der JavaScript Funktion bla() jeweils auf About bzw Contact zugreifen?

Danke für Eure Hilfe.
 
  • #2
Grundsätzlich: Die _id_ nav darf es nicht nur theoretisch, sondern sogar EXAKT nur 1 mal geben.

Ansonsten versteh ich die Frage nicht, auf was willst du wo zugreifen ;)

more input please :coolsmiley:
 
  • #3
Grundsätzlich: Die _id_ nav darf es nicht nur theoretisch, sondern sogar EXAKT nur 1 mal geben.
Ok! Alles klar.

Wie man sehen kann, rufe ich ja die Funktion bla() auf, wenn ich auf den Inhalt der divs klicke. Nun möchte in dieser JavaScript Funktion bla() beispielsweise mit...

Code:
document.getElementById('nav').innerHTML

...auf die Inhalte der divs zugreifen können. Wie mache ich das korrekt? Kanns Du mir da helfen?
 
  • #4
Wenn ich dich richtig verstehe hast du ein Menübereich und einen Contentbereich.
Wenn du im Menü einen Link anclickst soll im Content die jeweilige Seite zum Link sich öffnen.
Wenn dem so ist, dann verwende lieber ein CMS z.B.
Ist einfach zu verstehen und kann ziemlich viel. Ich bin immer wieder begeistert davon.

mfg
chevy
 
  • #5
Wenn ich dich richtig verstehe hast du ein Menübereich und einen Contentbereich.
Wenn du im Menü einen Link anclickst soll im Content die jeweilige Seite zum Link sich öffnen.
Wenn dem so ist, dann verwende lieber ein CMS z.B. ()
Ist einfach zu verstehen und kann ziemlich viel. Ich bin immer wieder begeistert davon.
Ähm ich glaube Dir sehr gern, dass Du diese CMS genial findest. PHP ist nun wirklick selten ein Problem bei mir ;). Grundsätzlich liegst Du mit deiner Annahme falsch. Zurzeit spiele ich ein wenig mit JavaScript und Ajax herum und da bin ich absoluter Newbie.

Hier nun nochmals detailiert mein Problem:

Ich habe eine index Seite (Zur Zeit mit nur einem Navigationpunkt About :

index.php
Code:
<html>
<script language=JavaScript src=ajax.js></script>
<body >
<h1>Ajax Webpage Test</h1>
<table width=100% border=1><tr><td width=20%>
Navigation:<br><br>
<div onclick=sndReq() id=nav name=about>About</div>
</td>
<td>
<img src=leer.gif />
<div id=hs></div>
</td></tr></table>
</body>
</html>

Dann habe ich die JavaScript Datei ajax.js:

Code:
function erzXMLHttpRequestObject(){
 var resOb = null;
 try {
  resOb = new ActiveXObject(Microsoft.XMLHTTP);
 }
 catch(Error){
  try {
   resOb = new ActiveXObject(MSXML2.XMLHTTP);
  }
  catch(Error){
   try {
   resOb = new XMLHttpRequest();
   }
   catch(Error){
    alert(Erzeugung des XMLHttpRequest-Objekts nicht möglich);
   }
  }
 }
 return resOb;
}
function sndReq() {
  resOb.open('get',->test.php?s=' + document.getElementById('nav').innerHTML,true);  
 
 resOb.onreadystatechange = handleResponse;
 resOb.send(null);
}
function handleResponse() {
 if(resOb.readyState == 4){
  document.images[0].src=leer.gif;
  document.getElementById(hs).innerHTML = resOb.responseText;
 }
 else {
   document.images[0].src=loader.gif;
 }
}
resOb = erzXMLHttpRequestObject();

Und dann eine Seite, welche entscheidet was angezeigt werde muss:

Code:
<?
 sleep(4);
 echo Navigationspunkt:;
 echo $_GET['s'];
 echo <br><br>;
 echo Inhalt! asdhfahsdfjhasdf <br>asdf asdlf asldf<br> asldkfjalsdjf afölasjdf aslökfj <br>lkjasf lasjldfök; 
 
?>

Nun möchte ich also einen weiteren Navigationspunkt hinzufügen und irgendwie muss ich ja die id oder den namen des divs der Funktion sndReq() übergeben. Denn zur Zeit liest diese Funktion mittels
Code:
document.getElementById('nav').innerHTML
jeweils nur den Inhalt eines divs heraus. Meine Frage ist nun, wie muss ich diese Funktion oder/und die divs abändern, dass ich in dieser Funktion sndReq() den namen, oder von mir aus den gesamten Inhalt des betreffenden divs herauslesen kann.

Ach ja... Das Ganze ist zu sehen hier (klick auf about):

 
  • #6
Nun möchte ich also einen weiteren Navigationspunkt hinzufügen und irgendwie muss ich ja die id oder den namen des divs der Funktion sndReq() übergeben.

Vielleicht in der Art:

Code:
<div onclick=sndReq(this.id) id=nav>About</div>

Code:
function sndReq(id) {
 resOb.open('get',->test.php?s=' + document.getElementById(id).innerHTML, true); 
 resOb.onreadystatechange = handleResponse;
 resOb.send(null);
}
 
  • #7
Nun! Genau das war es! Danke Dir!
 
Thema:

Problem: JavaScript

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.493
Neuestes Mitglied
Flensburg45
Oben