PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : JS-Variablen an PHP übergeben...


Trialrider
08.09.2003, 11:26:01
Hallo Leute,

tja, das Thema mal andersrum. Die gefundenen Threads brachten auch nicht richtig Licht ins dunkel. Wie ich PHP-Vars an JS gebe, weiß ich. Aber ich will einen kurzeitigen Tooltipp, Statustext oder Alert-Box bauen, die mir einen Tab-Feldnamen anzeigt. In etwa so:

Generierung Tabellenkopf:

echo "<tr bgcolor='lightblue'>";
for ($x=0; $x<$anz_liste_felder; $x++)
{
echo "<th valign='top' onclick="javascript:feldname($x);">";
echo substr(mysql_field_name($liste_felder, $x),0,5)."..."."</th>";
}
echo "</tr>";

Wenn der User auf einen gekürzten Feldnamen klickt, soll eben irgendwie nicht "prod..." dastehen, sondern "product".

Kennt sich jemand dahingehend aus oder hat nen Tipp, wie es sich am einfachsten bewerkstelligen lässt. Habe auch schon nach Skripts gesucht, aber die waren alle nicht so das Gelbe vom E.

Vielen Dank, viele Grüße
Trialrider

diver-network
08.09.2003, 12:49:53
Hi Trialrider,

ich könnte Dir folgende JavaScript Funktionen als Tooltip- Skript anbieten:

function showtip(current,e,text)
{
if (document.all) {
thetitle=text.split('<br>')
if (thetitle.length > 1) {
thetitles="";
for (i=0; i<thetitle.length; i++) {
thetitles += thetitle[i] + "rn";
current.title = thetitles;
}
} else {
current.title = text;
}
} else if (document.layers) {
document.tooltip.document.write(
'<layer bgColor="#FFFFE7" style="border:1px ' +
'solid black; font-size:12px;color:#000000;">' + text +
'</layer>');
document.tooltip.document.close();
document.tooltip.left=e.pageX+5;
document.tooltip.top=e.pageY+5;
document.tooltip.visibility="show";
}
}

function hidetip()
{
if (document.layers)
document.tooltip.visibility="hidden"
}

Aufrufen kannst du diese in Deinem Skript z.B. so:

echo "<th valign='top' onmouseover="showtip(this,event,'[Beliebiger Text, auch mit PHP drin]'" onmouseout="hidetip()">";

Allerdings übergibst Du da auch wieder Variablen von PHP an JS und nicht umgekehrt.


HTH,

Andy

P.S.: Obige Skripte sind getestet mit IE5.0 und IE6 und funktionieren per mouseover was ich besser finde als per klick().

Trialrider
08.09.2003, 13:32:40
hi diver,

wirst du für's helfen bezahlt? :)

Nein, schön, dass ich wieder was lernen kann. Aber irgendwie wills nicht funzen. Gib mir mal bitte die richtige Syntax für showtip() anhand eines Beispiels. Ich bin dazu a bissl verwirscht.

Danke, Trialrider

chris17
08.09.2003, 14:06:21
Hi Trialrider,

...das Skript von diver-network schööön in den Header packen:

<head>
<script type="text/javascript">
<!--
HIER REIN!
//-->
</script>
</head>

<body>
<?php
$test = "Das hier ist ein gaaaaanz langer Text";
?>
<table border="7">
<tr>
<td onmouseover="showtip(this,event,'<?php echo $test; ?>')" onmouseout="hidetip()"><?php echo substr($test, 0, 8)."...";?></td>
</tr>
</table>

Tut auch im Opera, im NS7 nicht.

Gruss

chris17

diver-network
08.09.2003, 14:10:56
Hi Trialrider,

leider werd' ich hier nicht für's Helfen bezahlt, dennoch tu ich's gerne. Ich brauch ja auch immer mal wieder Hilfe.

Zu Deiner Frage bzgl. Syntax für den Aufruf von showtip():

Ich verwende es folgendermaßen, es sollte aber natürlich auch innerhalb der <th>- Tags funktionieren:

<a href="#" onmouseover="showtip(this,event,'<? echo "Jetzt kannst Du<br>es sehen"; ?>')" onmouseout="hidetip()" class="Ebene1">Fahr hier dr&uuml;ber, dann siehst Du's</a>

Mit "this" ist das aktuelle Element gemeint, "event" ist vermutlich der Mouse-over Event und das, was in '<? ?>' drin steht ist der (PHP generierte) Text, der über dieser Stelle angezeigt wird.
Das <br> brauchst Du nur, wenn Du den Text über mehrere Zeilen hinweg angezeigt bekommen willst, sprich für längere Texte. Ansonsten einfach weglassen.

Versuch einfach mal, damit rumzuspielen. So schwer ist's gar nicht.

Gruß,

Andy

P.S.: Das Skript stammt leider nicht aus meiner Feder, ich verwende es nur.

Trialrider
08.09.2003, 14:19:57
Och menno, jetzt geht's auf einmal. @chris17, so viel weiß ich schon noch von js *fg*

Hatte mich schon für die Statuszeilenvarainte entschieden..., werde wohl doch das mit den Tooltips nehmen, allerdings kann auf das "onmouseout()" verzichtet werden (zum. im IE 6 bei mir).

Danke an euch beide.

Viele Grüße, Trialrider

chris17
08.09.2003, 14:40:07
Och menno, jetzt geht's auf einmal. @chris17, so viel weiß ich schon noch von js *fg*
Tschuldigung Trialrider :-|, hätt' mich nicht in den Thread "einmischen" sollen...

BTW: Ein Tipp von der Partnerseite vom 24.07.2003: http://selfaktuell.teamone.de/tippstricks/css/infobox/index.htm#beispiel1

Trialrider
08.09.2003, 14:43:00
Jetzt spiel doch nicht gleich beleidigt. Bin immer für Hilfe dankbar, mein Intranetprotal ist meine erste große "To-It-Yourself"-Aktion und da bin ich schon froh, wenn nicht alle probs unlösbar sind...

Also, Danke und nichts für Ungut.

Trialrider