PDA

Vollstndige Version anzeigen : php variable an javascript bergeben


Stifler
11-08-2004, 14:35
hi

ich mchte per link eine php variable an eine andere seite bergeben. soweit funktioniert das auch.

nun soll allerdings wenn die variable keinen wert enthlt eine meldung aufgehen in der steht das man den datensatz erst speichern soll und nur ein ok button vorhanden ist und sonst nix passiert. sprich der link wird nicht ausgefhrt.

wenn die variable einen wert enthlt soll natrlich keine meldung erscheinen

mein problem ist nun das erstens die meldung erscheint zwar allerdings mit ok und abbrechen.

sie erscheint auch wenn die variable einen wert enthlt was sie ja nicht soll (und wenn ich da auf abbrechen klicke geht sie normal auf die andere seite)

hier mal der code dazu

PHP-Quellcode:

<?php
function confirmtest()
{
id='<?php "$id"; ?>';
if(id!='')
exit;
if(id=='')
conf = confirm('Sie mssen den Datensatz erst Speichern!');
if(conf)
return false;
}
//hier der link mit der variablen
<A target="Haupttext" HREF="../html/body_notizen.php?id=$id">
<IMG ID="Bild16" HEIGHT=26 WIDTH=100 SRC="../assets/images/notizen02.jpg"
VSPACE=0 HSPACE=0 ALIGN="TOP" BORDER=0 ALT="" onClick="return confirmtest();"></A>
?>

c4
11-08-2004, 14:38
Versuch's mal mit 'nem echo... ;) <?php echo $id; ?>

Und mit alert() statt confirm()

Stifler
11-08-2004, 14:48
c4 du bist einfach der beste :)

mit der fehlermeldung klapt das jetzt.

nur wenn ein wert vorhanden ist bekomm ich jetzt nen laufzeitfehler in dem steht exit ist undefiniert.

schmeiss ich das exit raus steht da conf ist undefiniert.

der code sieht jetzt so aus

function confirmtest()
{
id='<?php echo $id; ?>';
if(id!='')
exit;

if(id=='')
conf = alert('Sie mssen den Datensatz erst Speichern!');
if(!conf)
return false;
}


denke es liegt an dem exit aber wie bekomme ich ihn sonst dazu das er nach der ersten if anweisung abbricht?

c4
11-08-2004, 14:54
JavaScript kennt kein exit
Variablen mssen deklariert werden (var variable=wert;)function confirmtest() {
var id='<?php echo $id; ?>';

if(id=='') {
alert('Sie mssen den Datensatz erst Speichern!');
return false;
}
else {
return true;
}
} if-else:
--> http://www.selfhtml.net/javascript/sprache/bedingt.htm#if_else

Variablen:
--> http://www.selfhtml.net/javascript/sprache/variablen.htm#definieren

Stifler
11-08-2004, 14:58
oh man da ht ich ja auch selbst drauf kommen knnen *snief :(

aber mit javascript hab ich mich halt noch nie beschftigt

dank dir :)

Stifler
11-08-2004, 15:07
halt komando zurck kaum hat sich das erste prob gelst hng ich am zweiten

hab noch zwei weiter links und wenn ich da den aufruf einfge bringt er nen debug fehler und zerreist mir die tabelle


<? echo" <TD WIDTH=122><P><B><SPAN STYLE="font-family: Verdana,Tahoma,Arial,Helvetica,Sans-serif,sans-serif;">
<A target="Haupttext" HREF="../html/body_notizen.php?id=$id"><IMG ID="Bild16" HEIGHT=26 WIDTH=100
SRC="../assets/images/notizen02.jpg" VSPACE=0 HSPACE=0 ALIGN="TOP" BORDER=0 ALT="" onClick="return confirmtest();"></A></SPAN></B></P>
</TD>";

echo" <TD COLSPAN=2><P><A HREF="../html/termine.php?id=$id"><IMG ID="Bild11" HEIGHT=26 WIDTH=100 SRC="../assets/images/termine03.jpg" VSPACE=0 HSPACE=0 ALIGN="TOP" BORDER=0 ALT=""></A></P>
</TD>";
echo" <TD WIDTH=116><P><A TARGET="_self" HREF="javascript:openpopup_2798('../html/kontakte.php?id=$id')"><IMG ID="Bild15" HEIGHT=26 WIDTH=100 SRC="../assets/images/kontakte02.jpg" VSPACE=0 HSPACE=0 ALIGN="TOP" BORDER=0 ALT="" onClick="return confirmtest();></A></P>

c4
11-08-2004, 15:09
Wre praktisch, wenn Du noch sagst, welchen Fehler Dir der IE an de Kopf schmeit...

Stifler
11-08-2004, 15:11
es schreibt:

Es ist ein laufzeitfehler aufgetreten
Soll der Debug modus gestartet werden?

in line 485 Syntaxfehler


in der zeile kann aber kein fehler sein da steht nur html code und der produziert bestimmt keinen fehler

c4
11-08-2004, 15:17
Was soll das return berhaupt bei dem onclick?

Was soll bei einem Klick eigentlich passieren?
Der soll doch, so man darauf klickt - sagen, dass ID leer ist - oder halt fortfahren. Das Ganze gehrt sicher in ein Formular, oder? Wenn ja, dann muss das mit dem confirmtest() in das <form>-Tag.

Stifler
11-08-2004, 15:24
nun das ganze gehrt in ein formular stimmt schon allerdings rufen die buttons immer das formular selbst auf.

deshalb habe ich diese 3 links und mchte halt vermeiden das jemand weiter kommt wenn er einen von diesen links drckt und die variable keinen wert enthlt.

wenn ich das return rausnehme ignoriert er die fehlermeldung und folgt dem link. bleibt das return drin bleibt er auf der seite wie es sich gehrt.

Stifler
11-08-2004, 15:26
gut es funtkioniert ich depp hatte am ende von onClick="return confirmtest();

den " vergessen :(

peinlich, peinlich, peinlich

danke danke danke