Zum Inhalt springen

Druckbefehl mit JavaScript 'abfangen'


desper@dos

Empfohlene Beiträge

Hallo,

ich hätte da folgendes Problem:

Kann man, wenn der User meine Seite ausdrucken möchte, vorher abfragen, ob alle Formluarfelder ausgefüllt wurden? Wenn dem nicht so ist, soll die Seite nicht gedruckt werden.

Geht das? Und wenn ja, wie?

Oder kann ich es erzwingen, dass er die Seite nur über einen Drucken-Knopf ausdrucken kann, bei dem ich vorher abfragen kann, ob alles ausgefüllt ist??

Danke für die Hilfe

Link zu diesem Kommentar
Auf anderen Seiten teilen

Keine Lösung, nur ne Info zu deinem Prob:

Wenn du JS nutzt, muß der User das auch eingeschaltet haben. Wenn du irgendwelche Browsererweiterungen nutzt, funzen die meist nicht mit anderen Browsern oder verursachen sogar Fehler.

Was ich kenne:

<LINK REL=ALTERNATE MEDIA=PRINT HREF="leer.txt"

TYPE="application/postscript">

Allerdings kann er deine Site natürlich lokal speichern und die Zeile entfernen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von EvilNick

Was ich kenne:

<LINK REL=ALTERNATE MEDIA=PRINT HREF="leer.txt"

TYPE="application/postscript">

was genau macht diese zeile?

wie kann ich diese verwenden?

gehe ich recht in der annahme das diese zeile einen href erzeugt bei dem man beim click die datei "HREF=leer.txt" ausdruckt?

gruss

kills

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

...ist nur in der Firma, da hat jeder JavaScript aktiviert.

Kann ich das mit dieser Lösung auch dynamisch machen? So, wie ich das da verstehe, kann ich nur sagen, entweder du darfst immer drucken oder nie, aber nicht in Abhängigkeit davon, ob auch alle Felder ausgefüllt wurden.

Oder hab ich da was falsch verstanden?

Darf da leider nicht mit php oder ähnlichem arbeiten...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi!

Hab mal schnell was zusammengebastelt:


<html>

 <head>

  <script type="text/javascript">

   <!--

    function checkEingaben() {

      if (document.form.eingabe.value == "")

         return false;

      if (document.form.eingabe2.value == "")

         return false;

      return true;

    }

    function drucken() {

      if (checkEingaben())

         window.print();

      else

         alert("Angaben sind unvollständig!");

    } 

   //-->

  </script>

 </head>

 <body>

  <form name="form">

   <input type="text" name="eingabe"><br>

   <input type="text" name="eingabe2"><br>

   <input type="button" value="Drucken!" onClick="drucken()">

  </form>

 </body>

</html>

Gruß

Azrael

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Jaraz

Das kannst du auch nicht unterbinden.

Es sei denn du unterdrückst die Browser Navigations und Menü Leiste.

Dann müssten man auch STR+P abfangen, damit geht das nämlich trotzdem, auch wenn die Menüleisten weg sind ;)

Andere Frage:

Warum sollte man ein ausgefülltes Formularfeld drucken wollen?!?

Generier lieber nach absenden des Formulars eine Druckversion.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hier gehts ja nicht um eine Internetseite, wo irgendwelche Kunden etwas ausfüllen und dann abschicken. Das ist ein Formular, was Mitarbeiter ausfüllen sollen, von denen mindestens 3/4 den Befehl Strg P nicht kennen ;-)

Das ist ein Formular, das erst der Personalabteilung, dann dem Chef vorhelegt wird. Also kann ich das auch nicht einfach verschicken lassen - sieht ja, weil ich kein php verwenden kann, etwas ******* aus...

Deshalb -> Ausdrucken

Wie geht denn das mit dem Ausstellen der Navigation?? (wie gesagt, ist ja nur INTERN!)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von desper@dos

weil ich kein php verwenden kann

Wieso nicht, wenn es doch intern ist!

Oder läuft das trotzdem über externen Webspace?

Ich würde auch ausfüllen lassen und dann ne Druckversion oder noch professioneller ne PDF Datei generieren.

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn die Benutzer wirklich so wenig Ahnung von PCs haben, wie du darstellt (3 von 4 kennen STRG+P nicht), dann mach doch einen dicken "Drucken" Button auf die Seite mit einem Hinweis, sie sollen das nur mit diesem Button drucken...

Wieso willst du die Benutzer überhaupt zwingen, alles auszufüllen? Wenn sie es nicht tun, schaden sie sich doch unter Umständen selbst, weil dann gefragt wird, warum sie es nicht ganz ausgefüllt haben...

Hierfür müsstest du sie natürlich eindeutig identifizieren. Baue doch einen simplen JavaScript-Zugang zu dem Dokument ein, bei dem die User ihre NT-Kennung oder Personalnummer als Zugangsmerkmal eingeben müssen. Diese Nummer baust du dann automatisch in dein Dokument ein, so dass sie mitgedruckt wird...

Ich weiss jedoch nicht, ob sowas aus datenschutzrechtlichen Gründen erlaubt ist...

Und außerdem finde ich es sowieso fast immer verwerflich die User zu irgendetwas wirklich zu zwingen, außer die entsprechenden Eingaben würden die Datenbank oder sonstiges zum Absturz bringen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wieso willst du die Benutzer überhaupt zwingen, alles auszufüllen? Wenn sie es nicht tun, schaden sie sich doch unter Umständen selbst, weil dann gefragt wird, warum sie es nicht ganz ausgefüllt haben...

-> die aus der Personalabteilung haben mir gesagt, ich soll sowas machen - und dann mach ich das!

Warum kein php?? Weiß es auch nicht. Auf dem Server, auf dem das liegt, ist kein php drauf (was ich ja noch verstehen kann). Haben einen Testserver mit php, aber da darf ich das nicht drauflegen (warum auch immer). Mir wäre es anders auch lieber ;-(

Naja, das mit dem Druck-Button hab ich schon gemacht, vielleicht reichts denen in der Personalabteilung ja, wer weiß...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du könntest versuchen den Druck-Event abzufangen, so wie man auch Tastatureingaben und Mausclicks abfangen kann.

[OT]

Man kann zwar das Formular drucken, aber wenn ein druckaufbereitetes zur Verfügung steht, bekommt der Mitarbeiter der das mit Formularfeldern abgibt bestimmt nen Anpfiff ;):D [/OT]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...