Autor |
Nachricht |
schumischumi
Threadersteller
Dabei seit: 16.01.2008
Ort: Regensburg
Alter: 38
Geschlecht:
|
Verfasst Mi 16.01.2008 12:13
Titel jscript variable richtig übergeben |
|
|
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ä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 12:15, insgesamt 1-mal bearbeitet
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 51
Geschlecht:
|
Verfasst Mi 16.01.2008 12:58
Titel
|
|
|
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>
|
|
|
|
|
|
Anzeige
|
|
|
schumischumi
Threadersteller
Dabei seit: 16.01.2008
Ort: Regensburg
Alter: 38
Geschlecht:
|
Verfasst Mi 16.01.2008 13:17
Titel
|
|
|
wow danke bist mein held
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??
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 51
Geschlecht:
|
Verfasst Mi 16.01.2008 14:40
Titel
|
|
|
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...
|
|
|
|
|
schumischumi
Threadersteller
Dabei seit: 16.01.2008
Ort: Regensburg
Alter: 38
Geschlecht:
|
Verfasst Mi 16.01.2008 14:49
Titel
|
|
|
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 14:52, insgesamt 1-mal bearbeitet
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 51
Geschlecht:
|
Verfasst Mi 16.01.2008 15:28
Titel
|
|
|
so, nachdem ich dein code mal gereinigt habe, sieht man mal, wofür gute einrückung alles gut sein kann
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
Zuletzt bearbeitet von pixelpapst303 am Mi 16.01.2008 15:29, insgesamt 1-mal bearbeitet
|
|
|
|
|
schumischumi
Threadersteller
Dabei seit: 16.01.2008
Ort: Regensburg
Alter: 38
Geschlecht:
|
Verfasst Mi 16.01.2008 15:45
Titel
|
|
|
jup super war wirklich der verdammte adressen-anz
nochmal vielen dank für deine hilfe
schönen tag noch
schumischumi
PS: Ich mag suppe
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 51
Geschlecht:
|
Verfasst Mi 16.01.2008 15:46
Titel
|
|
|
schumischumi hat geschrieben: |
PS: Ich mag suppe |
noch. es kommt der tag an dem du sie hassen wirst...
|
|
|
|
|
|
|
|
Ähnliche Themen |
Variable von JS an PHP übergeben?
[PHP] Array-Wert an Variable übergeben
Flash AS3: Variable übergeben (XML an Schaltfläche)
[php][noobfrage] nicht definierte variable übergeben
[JavaScript] Variable in verlinkten Frame übergeben
GELÖST Bildschirmposition als Variable übergeben(Javascript)
|
|