• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Formularverarbeitung, Dreamweaver, Plausibilitäten, required Attribut/Pflichtf. u.a.

S

Spider67

Guest
Hallo Community.

ich habe mir über Dreamweaver CS 6 ein Kontaktformular erstellt. Das funktioniert auch alles soweit ganz gut. Ich habe am Ende auch drei Schaltflächen eingefügt: Eine zum Absenden (die passt), eine zum Ausdrucken des Formulars und eine zum Zurücksetzen der Daten. Dazu jetzt meine Frage. Wie muss ich den Code eingeben, damit das Formular nur auf einer Seite ausgedruckt wird, dh. damit die Größe des Formulars auf eine A4 seite angepasst wird? Ist dies möglich?

Weiters hätte ich gerne gewusst, wie man eine Sicherheitsüberprüfung beim Zurücksetzen einbaut, damit der User nochmals bestätigen muss, falls er fälschlicherweise auf diesen Button drückt.

Nachfolgend mal der Code für die drei Schaltflächen:

HTML:
<td><input type="submit" name="button" id="button" value="Senden" /></td>
        <td><input type="button" name="Drucken" id="Drucken" value="Drucken" onClick="javascript:window.print()"/></td>
        <td><input type="reset" name="button2" id="button2" value="Zurücksetzen" /></td>

Vielleicht kann mir ja jemand weiterhelfen, da ich was Programmierung und JS betrifft kompletter Neueinsteiger bin?

Danke für Eure Hilfe.

LG

Spider67
 
Zuletzt bearbeitet von einem Moderator:
AW: Formulare

Den ersten Teil würde ich mit CSS/Media Queries versuchen zu lösen. Damit hab ich aber leider keine praktische Erfahrung. Müsstest du mal auf andere Antworten warten oder danach googeln.
Die zweite Frage: über onclick (das schreibt man mit kleinem c!) eine prompt() Abfrage einbauen.
 
AW: Formulare

Das „javascript:” ist absolut unnötig -> weg damit!
Für eine Sicherheitsabfrage ist confirm geeignet, nicht prompt():
Code:
var resetForm = confirm("Wirklich zurücksetzen?");
if(resetForm === true){
  document.Name des Formulars.reset();
}
 
AW: Formulare

Hallo,

danke für Eure Antworten.

Wenn JS für den Print Befehl nicht geeignet ist, wie soll ich das dann realisieren?

Bezüglich der "confirm" Abfrage, werde ich das mal ausprobieren. Wo muss ich dafür den angeführten Code einsetzen? Muss ich auch noch im head Tag des Dokuments anführen, dass JS verwendet wird (z. B. so: <script type="text/javascript">) oder muss dies im Body Tag stehen? Wie gesagt ich bin bezüglich js kompletter Neueinsteiger.

Danke für Eure Hilfe und LG

Spider67
 
AW: Formulare

Hab ich aber geschrieben, mit CSS.

OK, der JS befehl hat aber eigentlich funktioniert, ich hatte nur Probleme mit der Ausrichtung des Formulars bzw. mit dem Ausdruck auf einer Seite (beim Ausdruck über den Browser wird hingegen mit der Option "jeder Frame einzeln" das Formular korrekt auf einer Seite ausgedruckt.

Egal. Kann in den head oder in den body.
das betrifft den von mir angeführten Code bezüglich der Verwendung von js, oder nicht?

var resetForm = confirm("Wirklich zurücksetzen?");
if(resetForm === true){
document.Name des Formulars.reset();

wo steht dann im Formular die Anforderung confirm? Kommt diese in das td tag nach dem Attribut für "value"?

Danke für Eure Hilfe.
 
AW: Formulare

Wenn JS für den Print Befehl nicht geeignet ist, wie soll ich das dann realisieren?
https://developer.mozilla.org/de/docs/Web/CSS/@page
https://developer.mozilla.org/de/docs/Web/CSS/@media

Bezüglich der "confirm" Abfrage, werde ich das mal ausprobieren.
confirm sieht immer schei... aus. nimm irgendeinen dialog aus einem framework. mit dem jquery dialog z,b. ist das kein mehraufwand.

onclick (das schreibt man mit kleinem c!)
nein, warum?

- - - Aktualisiert - - -

https://developer.mozilla.org/en-US/docs/Web/API/Window.confirm
 
AW: Formulare

aber html ist case insensitive, also wird das html atribut onCliCk mit großem c nicht klein geschrieben
 
AW: Formulare

Das ist aber nicht praktikabel, hesst. Wer will sich denn schon merken, dass man es als Attribut schreiben darf wie man will und in JS nicht?
 
AW: Formulare

sollen muss das niemand, dürfen jeder.
und ich denke die meisten können sich das auch merken.
 
AW: Formulare

Blöd daran ist halt, wenn man es in JS falsch schreibt funktioniert es einfach nicht. Der IE wirft dann in der Konsole garnichts aus. Einer dieser Fehler, die man ggf. etwas länger suchen muss ;)
 
AW: Formulare

Blöd daran ist halt, wenn man es in JS falsch schreibt funktioniert es einfach nicht. Der IE wirft dann in der Konsole garnichts aus. Einer dieser Fehler, die man ggf. etwas länger suchen muss ;)
Korrekt. Außerdem ist es m.M. total schlechter/alter Code, wenn man onClick mit großen C schreibt. Das ist aber auch wieder so ein Thema, was man unter "Geschmackssache" abstufen kann.
 
AW: Formulare

confirm sieht immer schei... aus. nimm irgendeinen dialog aus einem framework. mit dem jquery dialog z,b. ist das kein mehraufwand.

Hallo,

darf ich trotzdem nochmal fragen, an welche Stelle im Code die Confirm Anforderung kommen muss?

BZW. wie sieht der Code für den jquery dialog aus?

Danke für Eure Hilfe.

LG

Spider67
 
Zuletzt bearbeitet von einem Moderator:
AW: Formulare

darf ich trotzdem nochmal fragen, an welche Stelle im Code die Confirm Anforderung kommen muss?
Na dort wo es auch in dem verlinkten Beispiel aus Beitrag #3 erklärt wird:
HTML:
<!DOCTYPE html>
<html lang="de">

<head>
    <!-- UTF-8 Prüfkommentar -->
    <title>Formular submit reset</title>
    <!-- META -->
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <meta name="author" content="Gobianweb.de" />
    <meta name="generator" content="Notepad++" />
    <meta name="keywords" content="formular, submit, reset" />
    <!-- Stylesheet -->
    <!-- JavaScript -->
    <script>
    'use strict';

    function deleteForm() {
        return confirm('Formular zurücksetzen?');
    }

    function submitForm() {
        return confirm('Formular senden?');
    }
    </script>
</head>

<body>
    <form onreset="return deleteForm();" onsubmit="return submitForm();">
        <table title="Formular">
            <tbody>
                <tr>
                    <td><label for="input_1">Input 1:</label></td>
                    <td><input type="text" name="input_1" id="input_1" /></td>
                </tr>
                <tr>
                    <td><input type="submit" value="Senden" /></td>
                    <td><input type="reset" value="Zurücksetzen" /></td>
                </tr>
            </tbody>
        </table>
    </form>
</body>

</html>
 
AW: Formulare

Na dort wo es auch in dem verlinkten Beispiel aus Beitrag #3 erklärt wird

Danke für Deine Hilfe. Brauche ich hier den ganzen Code, den Du dankenswerter Weise angegeben hast? Wofür brauche ich das META Tag im head des Dokuments? Habe ich das richtig vertanden, dass Du hier sowohl für die Funktion zurücksetzen als auch für die Funktion Senden eine "Confirm Bestätigung" eingebaut hast. Ich werde mal am Abend den code des kompletten Formulars in eine txt. Datei und hochladen. Vielleicht ist es dann leichter die richtige Stelle für den Code anzugeben. Hast Du vielleicht auch eine praktikable Lösung für das Druckproblem (Formular wird nicht auf eienr Seite ausgedruckt) am Beginn meines Threads?

Danke für die Hilfe.

LG

Spider67

- - - Aktualisiert - - -

Hallo,

wie versprochen habe ich hier mal den kompletten Code des Formulars in einer txt Datei angefügt. Vielleicht kann mir ja jemand bezüglich meiner beiden Fragen wegen des Druckproblems und der confirm 'Bestätigung helfen.

Danke vorab.

LG Spider67
 

Anhänge

  • formular.txt
    11,6 KB · Aufrufe: 3
Zuletzt bearbeitet von einem Moderator:
AW: Formulare

Brauche ich hier den ganzen Code, den Du dankenswerter Weise angegeben hast? Wofür brauche ich das META Tag im head des Dokuments?
Nein, das ist nur ein komplettes valides Beispiel-Dokument, ao wie ich es als Vorlage hab.


Habe ich das richtig vertanden, dass Du hier sowohl für die Funktion zurücksetzen als auch für die Funktion Senden eine "Confirm Bestätigung" eingebaut hast.
Ja das hast du richtig verstanden.[/QUOTE]

Du musst doch nur dein vorhandenes Dokument, was du in deiner Textdatei gepostet hast an 2 Stellen erweiter.

Stelle 1 (Zeile 41) um onreset="return deleteForm();" erweitern: <form action="myFormMail.php" method="post" enctype="multipart/form-data" name="form1" id="form1" onreset="return deleteForm();">

Stelle 2 (ab Zeile 258) um
Code:
function deleteForm() {
    return confirm('Formular zurücksetzen?');
}
erweitern:
Code:
<script type="text/javascript">
var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1", "date", {format:"dd.mm.yyyy", validateOn:["blur"]});
var sprycheckbox1 = new Spry.Widget.ValidationCheckbox("sprycheckbox1");
var sprytextfield2 = new Spry.Widget.ValidationTextField("sprytextfield2");
var sprytextfield3 = new Spry.Widget.ValidationTextField("sprytextfield3", "email");
var sprytextfield4 = new Spry.Widget.ValidationTextField("sprytextfield4", "date", {format:"dd.mm.yyyy", validateOn:["blur"]});
var sprytextfield5 = new Spry.Widget.ValidationTextField("sprytextfield5", "phone_number", {format:"phone_custom", validateOn:["blur"]});
var sprytextfield6 = new Spry.Widget.ValidationTextField("sprytextfield6", "date", {format:"dd.mm.yyyy", validateOn:["blur"]});
var spryradio1 = new Spry.Widget.ValidationRadio("spryradio1", {validateOn:["blur"]});
var spryradio2 = new Spry.Widget.ValidationRadio("spryradio2", {validateOn:["blur"]});
var spryradio3 = new Spry.Widget.ValidationRadio("spryradio3", {validateOn:["blur"]});
var spryradio4 = new Spry.Widget.ValidationRadio("spryradio4", {validateOn:["blur"]});
var spryradio5 = new Spry.Widget.ValidationRadio("spryradio5", {validateOn:["blur"]});

function deleteForm() {
    return confirm('Formular zurücksetzen?');
}

</script>
 
AW: Formulare

Danke, das hat alles toll funktioniert. Das einzige was jetzt nicht mehr klappt ist die Fehlermeldung, die beim Absenden des Formulars ausgegeben werden soll, wenn man ein Pflichtfeld nicht befüllt. Es kommt nur mehr eine Fehlermeldung, wenn man das Pflichtfeld verlässt, jedoch das Senden wird nicht verhindert. Kannst Du da diesbezüglich nochmals über meinen Code drüberschauen, was da nicht passt?

Hast Du auch noch eine Idee, wie man das Problem mit dem einseitigen Ausdruck lösen könnte?

Danke vorab für Deine Hilfe!

LG

Spider67
 
Zuletzt bearbeitet von einem Moderator:
AW: Formulare

Kannst Du da diesbezüglich nochmals über meinen Code drüberschauen, was da nicht passt?
Du bindest dort Sachen ein, welche ich ja nicht zur Verfügung habe. Daher wäre eine Testseite (Testlink) denke ich mal hilfreicher.


Hast Du auch noch eine Idee, wie man das Problem mit dem einseitigen Ausdruck lösen könnte?
So wie schon mehrfach erwähnt wurde: Mit passenden CSS-Angaben innerhalb des Styleshets (@media print). Nur solltest du davor deinen HTML-Code aufräumen und alle CSS-Angabe (da gehört auch das 'width' bei 'table' dazu) strikt durch CSS-Anweisungen ersetzen. Dadurch kannst du dir dann verschiedene Layouts für verschiedene Medien (Bildschirm, Drucker etc) erstellen.
 
Zuletzt bearbeitet:
Zurück
Oben