flyingMiATA
28-10-2004, 15:28
Hallo, ich habe ein kleines JS-Problem,
ich möchte einen Butten nach einem klick unsichtbar machen.
Der Button heisst "printit"
beim onClick Ereignis ruft dieser Butoon die funktion "drucken()" auf.
diese Funktion soll den Button unsichtbar machen.
die finktion sieht folgendermaßen aus:
function drucken()
{
document.printit.visibility ='hidden';
}
leider verändert sich der button nicht.
Weiss wer Rat?
mrhappiness
28-10-2004, 15:29
da könnte eventuell ja ein .style vor .visiblity fehlen
aber selbst dann haut's nicht in jedem browser hin...
flyingMiATA
28-10-2004, 15:33
das mit dem style stimmt. hab ich wohl wärend den zich Änderungen gelöscht und übersehen.
die Mozilla JS-Konsole gibt mir folgende Fehlermeldung aus:
Fehler: document.printit has no properties
Quelldatei: http://linux/shop/admin/bestellungen/lieferschein.php?bestellung=15
Zeile: 5
in Zeile 5 befindet sich die funktion
mrhappiness
28-10-2004, 15:36
der button ist ja mit sicherheit in einem formular dessen namen anzugeben du vergessenhast oder?
versuch doch mal über die id des buttons darauf zuzugreifenvar NS = document.layers ? 1:0;
var IE = document.all ? 1:0;
var gecko = document.getElementById ? 1:0;
if (gecko)
document.getElementById('printit').style.visibility="hidden";
else if (NS)
document.layers['printit'].visibility="hide";
else if (IE)
document.all['printit'].style.visibility = "hidden";
<button name="printit" id="printit" />
flyingMiATA
28-10-2004, 15:39
1000 mal dankeschön ;)
es funktioniert ;)
der Button ist in keinem Formular, der Button ist lediglich dazu gedacht das Dokument zu drucken
mrhappiness
28-10-2004, 15:41
warum nimmst du nicht eigentlich ein stylesheet für das medium print und setzt da den buttonund alles, was sonst nicht gedruckt werden soll, auf visibility:hidden oder display:none?
flyingMiATA
28-10-2004, 15:46
naja, wenn ich den drucken.button von anfang an auf hidden setze dann fehlt ja die möglichkeit den button zu klicken oder versteh ich dich grad falsch?
nachdem der button unsichtbar wird startet die funktion print() und druckt die seite.
mrhappiness
28-10-2004, 15:47
Original geschrieben von mrhappiness
ein stylesheet für das medium print
flyingMiATA
28-10-2004, 15:48
argh... ales klar ;)
ja, das wäre eine möglichkeit gewesen, aber mir erschein diese möglichkeit irgendwie einfacher
Mir nicht,
vorallem, weil der Button ohne Form wahrscheinlich nicht valid ist.
Original geschrieben von TobiaZ
vorallem, weil der Button ohne Form wahrscheinlich nicht valid ist.
<button name="printit" id="printit" />
ist natürlich nicht valide, weil <button> kein leeres element ist.
aber grundsätzlich spricht wenig dagegen, buttons oder auch inputs ohne formular in eine seite zu setzen - nur formular-funktionalität (daten an den server schicken) darf man dann natürlich nicht erwarten. aber hier wird's ja auch nur zum aufrufen einer JS-funktion verwendet.