mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 18.04.2024 13:17 Benutzername: Passwort: Auto-Login

Thema: jscript variable richtig übergeben vom 16.01.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> jscript variable richtig übergeben
Autor Nachricht
schumischumi
Threadersteller

Dabei seit: 16.01.2008
Ort: Regensburg
Alter: 37
Geschlecht: Männlich
Verfasst Mi 16.01.2008 13:13
Titel

jscript variable richtig übergeben

Antworten mit Zitat Zum Seitenanfang

hi,

ich mach mir zZ n adressbuch mit php und hab da n kleines prob.
ich will dass mir daten wie icq nummer oder strasse erst angezeigt werden wenn ich auf nen link/knopf druck. die ganzen daten stehn auch in nem extra div tag. hab nun dieses script im netz gefunden und versucht es an meine bedürfnisse anzupassen:

Code:


<script>
var browserType;

if (document.layers) {browserType = "nn4"}
if (document.all) {browserType = "ie"}
if (window.navigator.userAgent.toLowerCase().match("gecko")) {
 browserType= "gecko"
}

function hide2() {
  if (browserType == "gecko" )
     document.poppedLayer =
         eval('document.getElementById("realtooltip2")');
  else if (browserType == "ie")
     document.poppedLayer =
        eval('document.getElementById("realtooltip2")');
  else
     document.poppedLayer =   
        eval('document.layers["realtooltip2"]');
  document.poppedLayer.style.display = "none";
}

function show2() {
  if (browserType == "gecko" )
     document.poppedLayer =
         eval('document.getElementById("realtooltip2")');
  else if (browserType == "ie")
     document.poppedLayer =
        eval('document.getElementById("realtooltip2")');
  else
     document.poppedLayer =
         eval('document.layers["realtooltip2"]');
  document.poppedLayer.style.display = "inline";
}

</script>


<form>
<input type=button onClick="hide2()" value="hide">
<input type=button onClick="show2()" value="show">
</form>
<div id="realtooltip2" style="display: inline">
<big>Real's HowTo</big>
<layer></layer></div>


da ich aba ned nur einen div tag hab sondern viele will ich dass der name des div tags ned fest is sondern eine variable.

bei mir sieht des dann alles so aus:

Code:

<?php

  //address-reg.php
 
   $db = "SELECT ID,Name,Vorname,Handy,Telefon,ICQ  FROM adressen ORDER BY Name ASC";
   
   $result = mysql_query($db) OR die(mysql_error());

   
   echo "<script>";
   echo "var browserType;";
   echo "var layernum;";

 
     
   echo "   if (document.layers) {browserType = \"nn4\"}\n";
   echo "  if (document.all) {browserType = \"ie\"}\n";
   echo "  if (window.navigator.userAgent.toLowerCase().match(\"gecko\")) {\n";
   echo "   browserType= \"gecko\"\n";
   echo "  }";
     
   echo "  function hide() {\n";
   echo "    if (browserType == \"gecko\" )\n";
   echo "      document.poppedLayer = \n";
   echo "          eval('document.getElementById(layernum)');\n";
   echo "   else if (browserType == \"ie\")\n";
   echo "      document.poppedLayer = \n";
   echo "         eval('document.getElementById(layernum)');\n";
   echo "   else";
   echo "      document.poppedLayer =   \n";
   echo "         eval('document.layers[layernum]');\n";
   echo "   document.poppedLayer.style.display = \"none\";\n";
   echo " }\n";
     
   echo " function show() {\n";
   echo "   if (browserType == \"gecko\" )\n";
   echo "      document.poppedLayer = \n";
   echo "         eval('document.getElementById(layernum)');\n";
   echo "  else if (browserType == \"ie\")\n";
   echo "     document.poppedLayer = \n";
   echo "        eval('document.getElementById(layernum)');\n";
   echo "  else\n";
   echo "     document.poppedLayer = \n";
   echo "         eval('document.layers[layernum]');\n";
   echo "   document.poppedLayer.style.display = \"inline\";\n";
   echo " }\n";
     
   echo " </script>\n";
   
   
   echo "<h2>Adressen</h2>";
   

   
   if(mysql_num_rows($result)){
   
      while($row = mysql_fetch_assoc($result)){
     
          echo "<div class=\"adressen-anz\" width=\"500px\">\n";
          echo "  <div class=\"name\">\n";
          echo $row['Name'];
          echo " ";
          echo $row['Vorname'];
               
          echo " <br><br><a onclick=\"layernum=layer";
          echo $row['ID'];
          echo ";show();\">mehr</a></div>";
   
          echo "  <div class=\"tel\" align=\"right\">\n";
          echo $row['Handy'];
          echo "<br>\n";
          echo $row['Telefon'];
          echo " <br><br></div>\n";         
          echo "  <div id=\"layer";
          echo $row['ID'];
          echo "\" class=\"detail\" style=\"display: none\">\n";
          echo $row['ICQ'];
          echo " <br><br><a onClick=\"hide()\">weniger</a></div>\n";
          echo "</div><br><br><br><br><br>";
      }
     
   }
   else{
   
   echo "Es sind keine Nachrichten vorhanden.<br>\n
         Bitte versuchen Sie es sp&auml;ter nocheinmal.";
   }

?>


des probelm is nun wenn ich den layer nicht mehr fest mach sondern durch die variable layernum ersetz funzt des script nimmer. denk es is n syntax fehler oder sowas. liegt wahrscheinlich dran dass ich mich mit js ned so gut auskenn bzw sonst nur Copy&Paste mach und n paar werte austausch.

danke dass ich ihr euch zeitnehmt meinen mist durchzulesen.



thx
schumischumi


Zuletzt bearbeitet von schumischumi am Mi 16.01.2008 13:15, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mi 16.01.2008 13:58
Titel

Antworten mit Zitat Zum Seitenanfang

da brauchst nicht viel fuer... schau dir mal dieses vereinfachte beispiel an...


Code:

<form>
<input type=button onClick="javascript:document.getElementById('realtooltip2').style.display = 'none';" value="hide">
<input type=button onClick="javascript:document.getElementById('realtooltip2').style.display = 'inline';" value="show">
</form>
<div id="realtooltip2" style="display: inline">
Real's HowTo
</div>
</form>
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
schumischumi
Threadersteller

Dabei seit: 16.01.2008
Ort: Regensburg
Alter: 37
Geschlecht: Männlich
Verfasst Mi 16.01.2008 14:17
Titel

Antworten mit Zitat Zum Seitenanfang

wow danke bist mein held * Applaus, Applaus *

jetzt is mir aba noch n 2tes prob vor die füsse gefallen:

wenn ich den div tag jetzt einblenden lass verschiebts zwar den zweiten eintrag mit nach unten wie gedacht aber 3 dritte bleibt wo er is.

hast du evtl noch ne idee wie ich des lösen könnt??
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mi 16.01.2008 15:40
Titel

Antworten mit Zitat Zum Seitenanfang

zeig mal bitte den generierten html-code der besagten stelle... sprich, die divs (vermute ich mal) in denen die einträge sind, die verschoben werden sollen. und die dazugehörigen css-deklarationen...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
schumischumi
Threadersteller

Dabei seit: 16.01.2008
Ort: Regensburg
Alter: 37
Geschlecht: Männlich
Verfasst Mi 16.01.2008 15:49
Titel

Antworten mit Zitat Zum Seitenanfang

hier ist html code

Code:
<h2>Adressen</h2><div class="adressen-anz">

  <div class="name">
Huber Huber <br><br><a onclick="javascript:document.getElementById('layer2').style.display = 'inline';" value="show"">mehr</a><br><br></div>  <div class="tel" align="right">
0170<br>
********< <br><br></div>
  <div id="layer2" class="detail" style="display: none">
ICQ: 131<br>
E-Mail: <br>
Fax: <br>

Strasse: ********<br>
PLZ: ********<<br>
Ort: Regensburg <br><br><a onclick="javascript:document.getElementById('layer2').style.display = 'none';" value="hidde" ">weniger</a></div>
</div><br><div class="adressen-anz">
  <div class="name">
Schumacher Sebastian <br><br><a onclick="javascript:document.getElementById('layer1').style.display = 'inline';" value="show"">mehr</a><br><br></div>  <div class="tel" align="right">
********<<br>
********< <br><br></div>

  <div id="layer1" class="detail" style="display: none">
ICQ: ********<<br>
E-Mail: ********<<br>
Fax: <br>
Strasse: ********<<br>
PLZ: ********<<br>
Ort: Regensburg <br><br><a onclick="javascript:document.getElementById('layer1').style.display = 'none';" value="hidde" ">weniger</a></div>
</div><br><div class="adressen-anz">
  <div class="name">

Schumacher Linda <br><br><a onclick="javascript:document.getElementById('layer3').style.display = 'inline';" value="show"">mehr</a><br><br></div>  <div class="tel" align="right">
********<<br>
********<<br><br></div>
  <div id="layer3" class="detail" style="display: none">
ICQ: ********<<br>
E-Mail: linda-schumacher@web.de<br>
Fax: ********<<br>
Strasse: ********<5<br>

PLZ: 32767<br>
Ort: ********<<br><br><a onclick="javascript:document.getElementById('layer3').style.display = 'none';" value="hidde" ">weniger</a></div>
</div><br>            </div>
            <br style="clear:both;" />
       </div>
    </body>
</html>


und hier noch css:

Code:
.adressen-anz {
    margin-bottom: 10px;
    width:400px;
    font-family: verdana;
    font-size: 11px;
    background-color: #53a0ef;
}

.adressen-anz > .tel {
    border-top: 2px solid black;
    padding: 2px;
    float: left;
    width: 220px;
    height:100px;
    white-space: nowrap;
    background-color: #53a0ef;
   
}
.adressen-anz > .name {
    border-top: 2px solid black;
    padding: 2px;
    float: left;
    width: 160px;
    height:100px;
    border-left: 1px solid darkgray;
    background-color: #53a0ef;
}
.adressen-anz > .detail {
    padding: 2px;
    float: left;
    margin-left: 24px;
    width: 360px;
    border-left: 1px solid darkgray;
    background-color: #99ccff;
}


Zuletzt bearbeitet von schumischumi am Mi 16.01.2008 15:52, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mi 16.01.2008 16:28
Titel

Antworten mit Zitat Zum Seitenanfang

so, nachdem ich dein code mal gereinigt habe, sieht man mal, wofür gute einrückung alles gut sein kann *zwinker*

1. die divs haben sich überlagert, weil sie keinen direkten bezug zueinander hatten. in deinem falle ist es nicht nötig, die klasse "adresse-anz" immer wieder zu schließen und wieder zu öffnen. sie umfasst nun den ganzen detail-block

2. unten habe ich mal zwei </div> auskommentiert stehen lassen. entweder öffnest du die weiter oben irgendwo, oder du hast dich schlicht weg irgendwo verzählt...

hier nun das etwas aufgräumte...
Code:

<h2>Adressen</h2>

<div class="adressen-anz">
   <div class="name">
      Huber Huber <br /><br /><a onclick="javascript:document.getElementById('layer2').style.display = 'block';">mehr</a><br /><br />
   </div>    
   <div class="tel" align="right">
      0170<br />
      ********< <br /><br />
   </div>
   
     <div id="layer2" class="detail" style="display: none">
      ICQ: 131<br />
      E-Mail: <br />
      Fax: <br />
      Strasse: ********<br />
      PLZ: ********<<br />
      Ort: Regensburg <br /><br /><a onclick="javascript:document.getElementById('layer2').style.display = 'none';" value="hidden" ">weniger</a>
   </div>

     <div class="name">
      Schumacher Sebastian <br /><br /><a onclick="javascript:document.getElementById('layer1').style.display = 'block';" value="show"">mehr</a><br /><br /></div>  <div class="tel" align="right">
      ********<<br />
      ********< <br /><br />
   </div>

   <div id="layer1" class="detail" style="display: none">
      ICQ: ********<<br />
      E-Mail: ********<<br />
      Fax: <br />
      Strasse: ********<<br />
      PLZ: ********<<br />
      Ort: Regensburg <br /><br /><a onclick="javascript:document.getElementById('layer1').style.display = 'none';" value="hidde" ">weniger</a>
   </div>

     <div class="name">
      Schumacher Linda <br /><br /><a onclick="javascript:document.getElementById('layer3').style.display = 'block';" value="show"">mehr</a><br /><br />
   </div>
   <div class="tel" align="right">
      ********<<br />
      ********<<br /><br />
   </div>
   <div id="layer3" class="detail" style="display: none">
      ICQ: ********<<br />
      E-Mail: linda-schumacher@web.de<br />
      Fax: ********<<br />
      Strasse: ********<<br />

      PLZ: 32767<br />
      Ort: ********<<br /><br /><a onclick="javascript:document.getElementById('layer3').style.display = 'none';" value="hidde" ">weniger</a>
   </div>
</div>
<!--
<br />            </div>
            <br style="clear:both;" />
       </div>-->



edit: btw stehst du gerade kurz vor ner div-suppe *zwinker*


Zuletzt bearbeitet von pixelpapst303 am Mi 16.01.2008 16:29, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
schumischumi
Threadersteller

Dabei seit: 16.01.2008
Ort: Regensburg
Alter: 37
Geschlecht: Männlich
Verfasst Mi 16.01.2008 16:45
Titel

Antworten mit Zitat Zum Seitenanfang

jup super war wirklich der verdammte adressen-anz

nochmal vielen dank für deine hilfe

schönen tag noch

schumischumi


PS: Ich mag suppe *zwinker*
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mi 16.01.2008 16:46
Titel

Antworten mit Zitat Zum Seitenanfang

schumischumi hat geschrieben:

PS: Ich mag suppe *zwinker*


noch. es kommt der tag an dem du sie hassen wirst... *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Variable von JS an PHP übergeben?
[PHP] Array-Wert an Variable übergeben
Flash AS3: Variable übergeben (XML an Schaltfläche)
[JavaScript] Variable in verlinkten Frame übergeben
GELÖST Bildschirmposition als Variable übergeben(Javascript)
variable über mehrere seiten übergeben
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.