• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

HTML Formular Versand

Eased04

Neues Mitglied
Guten Tag Gemeinde,

ich habe folgendes Problem -> mit dem unten angehänten "Script" bin ich soweit zufrieden (bin gewiss kein ProfI).
Allerdings habe ich dass Problem dass mir zwar im Klartext auf der Seite nur die Felder angezeigt werden, welche ich auch durch die vorherige Auswahl (Radiobutton) brauche, jedoch muss ich zum Versand über den Versenden Button sämtliche Required Felder bestücken (sprich in jede Auswahl rein gehen und das Feld bestücken, da es ja ein "required" Feld ist... Das ist natürlich nicht praktikabel.
Fällt da jemand eine geschicktere Lösung ein.
Es muss definitiv bestehen bleiben dass in beiden (später noch mehrere Fälle) Fällen jeweils Felder ausgefüllt werden MÜSSEN, jedoch möchte ich diese natürlich nur ausfüllen, wenn der entsprechende Radio Button dazu betätigt wurde.

Danke für die Hilfe!!


<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">

<!--
$(document).ready(function(){
$('#auswahl div').hide();
$('#Portale input[type=radio]').click(function(){
$('#Auswahl div').hide();
$('#'+$(this).val()).show();
});
});
-->
</script>


<div id="Portale">
<input type="radio" name="Portale" value="Portal1"> Portal1<br>
<input type="radio" name="Portale" value="Portal2"> Portal2<br>

</div>

<form id="Portale" action="mailto:MAILADRESSE"
method="post" enctype="text/plain">
<div id="Auswahl">
<div id="Portal1">
<p><h2> Portal1</h2>
<p>Nr.: <input type="text" name="Nummer1" required="required" /> <br>
<p>Version: : <input type="text" name="Version2" required="required" /> <br>

</div>
<div id="Portal2">
<p>Nr.1: <input type="text" name="Nummer2" required="required" /> <br>
<p>Version: <input type="text" name="Version2" /> <br>

</div>
<input type="Submit" name="absenden" value="absenden">
</form>
</html>
 
Zuletzt bearbeitet:
Die Radio-Button liegen nicht im Formular, dadurch wird deren Wert auch nicht mitgeschickt.

So oder so würde ich jedoch empfehlen JavaScript zu verwenden um die Pflichtfeldmarkierungen per HTML zu setzen.

Allerdings wäre es noch besser, wenn Du ein PHP-Script für die Verarbeitung und den Versand nutzen würdest. So wie es jetzt aussieht wäre beim Benutzer zwingend ein E-Mail-Programm notwendig wo er dann nochmal auf Senden klicken muss - ein Weg den schon seit Jahren niemand mehr geht. Um Formulare zu versenden nutzt man eine serverseitige Sprache wie PHP, mit der du deinen Wunsch dann auch leichter umsetzen könntest.
 
Ja die Buttons könnten noch mit reingenommen werden, aber ich glaube den Wert ansich benötige ich nicht - wichtig sind eigentlich nur die Felder darunter. Dass passt soweit auch alles.

Das einzige Problem was ich damit habe ist wie erwähnt nur dass sämtliche Required Felder ausgefüllt werden müssen, obwohl diese nicht ausgefüllt sind.
Also Portal2 müsste in diesem Fall auch ausgefüllt werden obwohl Portal1 ausgewählt wurde... Jedoch wären natürlich nach der jeweiligen Auswahl des Portals die Felder unbedingt auszufüllen.

Dass mit dem Mailprogramm ist tatsächlich vorraussetzungen - jeder hat hier Outlook auf seinem Rechner.

Ist nur eine kleine Spielerei in der Firma - es soll lediglich ein "Antrag" mit ein paar Feldern bestückt werden.
Jedoch sollten halt die Einträge unter den jeweiligen Auswahlpunkten "versteckt" sein bzw. erst nach betätigen des jeweiligen Buttons sichtbar werden.
 
Das einzige Problem was ich damit habe ist wie erwähnt nur dass sämtliche Required Felder ausgefüllt werden müssen, obwohl diese nicht ausgefüllt sind.
Das kannst Du vermeiden, indem Du das Attribut "required" dynamisch abhängig von den Radiobuttons setzt:
Code:
            $(document).ready(function () {
                $('#auswahl div').hide();
                $('#Portale input[type=radio]').click(function () {
                    $('#Auswahl div').hide();
                    $('#Auswahl div').find("input").removeAttr("required");
                    $('#' + $(this).val()).show();
                    $('#' + $(this).val()).find("input").attr("required", "required");
                });
            });
(Und die statischen "required"-Attribute im HTML natürlich löschen.)
 
Zurück
Oben