Archiv verlassen und diese Seite im Standarddesign anzeigen : php variable an javascript übergeben
Stifler
11.08.2004, 13:35:07
hi
ich möchte per link eine php variable an eine andere seite übergeben. soweit funktioniert das auch.
nun soll allerdings wenn die variable keinen wert enthält 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 ausgeführt.
wenn die variable einen wert enthält soll natürlich 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 enthält 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 müssen 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>
?>
Versuch's mal mit 'nem echo... ;) <?php echo $id; ?>
Und mit alert() statt confirm()
Stifler
11.08.2004, 13:48:23
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 müssen 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?
JavaScript kennt kein exit
Variablen müssen deklariert werden (var variable=wert;)function confirmtest() {
var id='<?php echo $id; ?>';
if(id=='') {
alert('Sie müssen 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, 13:58:52
oh man da hät ich ja auch selbst drauf kommen können *snief :(
aber mit javascript hab ich mich halt noch nie beschäftigt
dank dir :)
Stifler
11.08.2004, 14:07:26
halt komando zurück kaum hat sich das erste prob gelöst häng ich am zweiten
hab noch zwei weiter links und wenn ich da den aufruf einfüge bringt er nen debug fehle´r 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>
Wäre praktisch, wenn Du noch sagst, welchen Fehler Dir der IE an de Kopf schmeißt...
Stifler
11.08.2004, 14:11:40
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
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 gehört sicher in ein Formular, oder? Wenn ja, dann muss das mit dem confirmtest() in das <form>-Tag.
Stifler
11.08.2004, 14:24:19
nun das ganze gehört in ein formular stimmt schon allerdings rufen die buttons immer das formular selbst auf.
deshalb habe ich diese 3 links und möchte halt vermeiden das jemand weiter kommt wenn er einen von diesen links drückt und die variable keinen wert enthält.
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 gehört.
Stifler
11.08.2004, 14:26:41
gut es funtkioniert ich depp hatte am ende von onClick="return confirmtest();
den " vergessen :(
peinlich, peinlich, peinlich
danke danke danke
vBulletin® v3.8.3, Copyright ©2000-2013, Jelsoft Enterprises Ltd.