Also ich komme nicht wirklich mit der Antwort weiter.
Ich brauche doch anschließend wieder die form action um die Daten auf der nächsten Seite auszugeben und in die DB zu schreiben.
Daher ist der Aufruf über
leider nicht sehr hilfreich.
Hab mal folgendes probiert:
Formular für Eingabe: eingabe.php
Code:
<body>
<?php
$print = false;
$fehler = '';
if (isset($_POST['submit'])) {
if (isset($_POST['kd_ref']) && !is_array($_POST['kd_ref']) && $_POST['kd_ref'] != ''){
// Alles ok
} else {
$fehler .= "Bitte Feld füllen.<br />";
}
if ($fehler == ''){
$print = true;
echo "<form action=druck.php method=POST>";
} else {
$print = false;
echo "<b>$fehler</b>";
}
}
if (!$print){
echo "<form action=eingabe.php method=POST>";
}
?>
<table align="center" cellspacing="0" cellpadding="0">
<label for="kd_ref">Kundenreferenz / Customer reference<br /></label>
<input type="text" id="kd_ref" value="<?php
if (isset($_POST['kd_ref']) && !is_array($_POST['kd_ref'])){
echo htmlspecialchars($_POST['kd_ref']);
}
?>" name="kd_ref" size='60' maxlength='50' /><br /><br />
<input type="submit" name="submit" />
<input type="reset" /><br />
</table>
</form
</body>
Formular für Druck: druck.php
Code:
<body>
<?php
// Daten in DB schreiben
?>
<table align="center" cellspacing="0" cellpadding="0">
<td valign="top" style="border:1px solid #000; width:50%;">
Kundenreferenz / Customer reference<br /><br />
<?php
echo " ".htmlspecialchars($_POST['kd_ref'])."<br /><br />";
?>
<!-- Formular drucken -->
<a href="javascript:void(0);" onclick="window.print();" tabindex="15"><input type="button" value="Drucken"/>
</td>
</table>
</body>
Bei einer Fehleingabe funktioniert dieses wunderbar.
Problem ist jedoch folgendes Szenario:
- Eingabe-Maske wird aufgerufen
- Form action wird auf Eingabe-Maske geleitet
- Benutzer gibt korrekten Wert ein
- Eingabe-Maske wird aufgerufen
- Prüfung findet statt
- Form action wird auf Druck-Maske geleitet
- Und ich muss schon wieder auf senden klicken, da der Fokus sich immer noch auf der Eingabe-Maske befindet. Erst bei erneutem submit wird die Druck-Maske aufgerufen.
Das ist mühselig. Gibt es nicht eine Möglichkeit die Daten auf der Eingabe-Prüfung zu testen und anschließend direkt auf die Druck-Maske zu übergeben?
Ich hoffe, dass das Problem durch dieses Beispiel ein wenig klarer wird.
Und wenn ihr mir noch eine andere Möglichkeit für einen Button zum Druck ohne Javascript anbieten könntet, dann wäre ich überglücklich!!!
Vielen Dank nochmals für die Hilfe.