Anmelden, um zu folgen  
Folger 0
Wizi

Formulare

13 Beiträge in diesem Thema

Hi,

wie kann ich es machen das, wenn jemand ein formular ausfüllt und dann eine checkbox nicht anklickt, das eine seite kommt, wo dann steht, was man nicht gemacht hat und das formular nicht abgeschickt wird? bin noch relativ neu und hab wenig erfahrung. ein code wäre z.b. net schlecht.

danke schonmal im vorraus.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Mit PHP funktioniert das Ganze serverseitig (ist empfehlenswert!).

Code-Beispiel:

CODE
if (!$formularelement) {
// Falls das Formular-Element nicht aktiv ist, gehts hier weiter
die ("Fehler - Fülle ".$formularelement." aus!");
// Das Script wird nicht weiter ausgeführt, email wird nicht versandt und eine Fehlermeldung wird ausgegeben
}


Dabei ist $formularelement der Name des Formular-Elements, welches überprüft wird.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Javascript kann jedoch vom Benutzer im Browser deaktiviert werden,. Wenn du die Validierung nur mit Javascript machst ist das eine Potentielle gefahr, insbesondere wenn die Daten danach in eine DB gschrieben werden. (Was ja hier nicht der Fall ist...). Besser wäre, die überprüfung auf dem Server vorzunehmen, dazu brauchst du jedoch Know How in einer Scriptsprache wie PHP oder ASP

Gruss Feuillet

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
@feuillet:
Gleichzeitig gepostet ;-)

Einen beispielhaften Code habe ich dir oben gepostet.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
ich hab weder von dem einen, noch von dem andern ne ahnung. kann ich das einfach als quelltext eingeben?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Bei JavaScript kannste den Code noch in die selbe Datei posten (Script innerhalb des <head>-Bereichs, Aufruf des Scripts über den Button (onClick oder so)), bei der PHP-Version sollte das meines Erachtens nicht möglich sein.

Bei der PHP-Version musst du den Code in eine PHP-Datei reinschreiben (z. B. formular.php). Eine PHP-Datei, die lediglich ein Formularteil überprüft und zur Not den Versand abbricht, sieht ungefähr so aus:

CODE
<?
if (!$formularelement) {
// Falls das Formular-Element nicht aktiv ist, gehts hier weiter
die ("Fehler - Fülle ".$formularelement." aus!");
// Das Script wird nicht weiter ausgeführt, email wird nicht versandt und eine Fehlermeldung wird ausgegeben
}
?>

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Hab mal das von selfhtml ausprobiert. hier ist der code dafür:

QUOTE
<script type="text/javascript">
                    <!--
                    function chkjoinus()
                    {
                    }
                    if(document.Joinus.Nickname.value == "") {
                      alert("Bitte gib deinen Wohnort an!");
                      document.Joinus.Nickname.focus();
                      return false;
      }
                    if(document.Joinus.Realname.value == "") {
                      alert("Bitte gib deinen Wohnort an!");
                      document.Joinus.Realname.focus();
                      return false;
                    }
                    if(document.Joinus.Wohnort.value == "") {
                      alert("Bitte gib deinen Wohnort an!");
                      document.Joinus.Wohnort.focus();
                      return false;
      }
                    if(document.Joinus.E-Mail.value == "") {
                      alert("Bitte gib deine E-Mail-Adresse an!");
                      document.Joinus.E-Mail.focus();
                      return false;
                    }
                    if(document.Joinus.E-Mail.value.indexOf('@') == -1) {
                      alert("Bitte gib eine existierende E-Mail Adresse an!");
                      document.Joinus.E-Mail.focus();
                      return false;
                    }
                    if(document.Joinus.ICQ.value == "") {
                      alert("Bitte gib deine ICQ-Nummer an!");
                      document.Joinus.ICQ.focus();
                      return false;
                    var chkZ = 1;
                    for(i=0;i<document.Joinus.ICQ.value.length;++i)
                    if(document.Joinus.ICQ.value.charAt(i) < "0"
                    || document.Joinus.ICQ.value.charAt(i) > "9")
                        chkZ = -1;
                    if(chkZ == -1) {
                      alert("Bitte gib deine ICQ-Nummer an!");
                      document.Joinus.ICQ.focus();
                      return false;
      }
                    if(document.Joinus.RegelnAkzeptiert.value == "") {
                      alert("Du hast die Clanrules nicht akzeptiert!");
                      document.Joinus.RegelnAkzeptiert.focus();
                      return false;
      }
                    if(document.Joinus.Wahrheit.value == "") {
                      alert("Deine Angaben entsprechen nicht der Wahrheit!");
                      document.Joinus.Wahrheit.focus();
                      return false;   
      }
                    //-->
                  </script>
            <FORM name=Joinus action=http://aktuell.de.selfhtml.org/cgi-bin/formview.pl method=post>
                  <INPUT type=hidden value=wizard@ice-world.de name=recipient>
                  <p align="center">&nbsp;</p>
                  <p align="center"><em><strong><span class="Stil1">Join Us - Formular</span></strong></em></p>
                  <p align="center">Spiel *<br>
                    <select name="Spiel">
                      <option>Battlefield Vietnam</option>
                      <option>Counter-Strike</option>
                      <option>Tactical Ops</option>
                      <option selected>Bitte w&auml;hlen</option>
                    </select>
                  </p>
    <p align="center">Nickname  *<br>
                    <input type="text" name="Nickname" size="20"> </p>
                  <p align="center">Vor- und Zuname  *<br>
                    <input type="text" name="Realname" size="20"> </p>
                  <p align="center">Wohnort *<br>
                    <input type="text" name="Wohnort" size="20"> </p>
                  <p align="center">Geburtstag *<br>
                      <select name="Geburtstag">
                        <option selected>01</option>
                        <option>02</option>
                        <option>03</option>
                        <option>04</option>
                        <option>05</option>
                        <option>06</option>
                        <option>07</option>
                        <option>08</option>
                        <option>09</option>
                        <option>10</option>
                        <option>11</option>
                        <option>12</option>
                        <option>13</option>
                        <option>14</option>
                        <option>15</option>
                        <option>16</option>
                        <option>17</option>
                        <option>18</option>
                        <option>19</option>
                        <option>20</option>
                        <option>21</option>
                        <option>22</option>
                        <option>23</option>
                        <option>24</option>
                        <option>25</option>
                        <option>26</option>
                        <option>27</option>
                        <option>28</option>
                        <option>29</option>
                        <option>30</option>
                        <option>31</option>
                      </select>
                      <select name="Geburtsmonat">
                        <option selected>Januar</option>
                        <option>Februar</option>
                        <option>M&auml;rz</option>
                        <option>April</option>
                        <option>Mai</option>
                        <option>Juni</option>
                        <option>Juli</option>
                        <option>August</option>
                        <option>September</option>
                        <option>Oktober</option>
                        <option>November</option>
                        <option>Dezember</option>
                      </select>
                      <select name="Geburtsjahr">
                        <option>1950</option>
                        <option>1951</option>
                        <option>1952</option>
                        <option>1953</option>
                        <option>1954</option>
                        <option>1955</option>
                        <option>1956</option>
                        <option>1957</option>
                        <option>1958</option>
                        <option>1959</option>
                        <option>1960</option>
                        <option>1961</option>
                        <option>1962</option>
                        <option>1963</option>
                        <option>1964</option>
                        <option>1965</option>
                        <option>1966</option>
                        <option>1967</option>
                        <option>1968</option>
                        <option>1969</option>
                        <option>1970</option>
                        <option>1971</option>
                        <option>1972</option>
                        <option>1973</option>
                        <option>1974</option>
                        <option>1975</option>
                        <option>1976</option>
                        <option>1977</option>
                        <option>1978</option>
                        <option>1979</option>
                        <option selected>1980</option>
                        <option>1981</option>
                        <option>1982</option>
                        <option>1983</option>
                        <option>1984</option>
                        <option>1985</option>
                        <option>1986</option>
                        <option>1987</option>
                        <option>1988</option>
                        <option>1989</option>
                        <option>1990</option>
                      </select>
                    </p>
                  <p align="center">E-Mail  *<br>
                    <input type="text" name="E-Mail" size="20"> </p>
                  <p align="center">ICQ *<br>
                    <input name="ICQ" type="text" size="20" maxlength="9">
                    </p>               
    <p align="center">Sonstige Informationen<br>
                    <textarea name="SonstInfos" cols="25" rows="6" wrap="VIRTUAL"></textarea>
                  </p>
                  <p align="center" class="Stil2 Stil8">* Mussfeld</p>
                  <p align="center" class="Stil7 Stil8">Bitte alle Mussfelder ausf&uuml;llen, sonst erfolgt keine Bearbeitung!</p>
                  <p align="center"><input type="checkbox" name="RegelnAkzeptiert" value="checkbox">
                  Ja, ich habe die <i><a href="ruls_clan.html">Clanrules </a></i>gelesen und bin damit einverstanden!</p>
                  <p align="center"><input type="checkbox" name="Wahrheit" value="checkbox">Ja, meine Angaben entsprechen der Wahrheit!</p>
                  <p align="center"><input type="submit" value="Abschicken"><input type="reset" value="Zurücksetzen"> </p>
                  </form>


ist etwas unübersichtlich biggrin.gif und hat sich durchs rüberkopieren verschoben. Und auch einiges falsch. habe jetzt ein problem: habe es genauso gemacht wie da beschrieben wurde. nur würde das formular jetzt immer gleich abgeschickt werden, also ohne einen fehler zu erkennen.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Also:

bei <form action heisst es

action=onclick: return chkjoinus(); ....


Beim Script selber musst du ab dem zweiten 'if' das' if' durch 'else if' ersetzen (ohne es getestet zu haben!)

Franz

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
so sieht das jetzt aus:

QUOTE
<script type="text/javascript">
                    <!--
                    function chkjoinus()
                    {
                    }
                    if(document.Joinus.Nickname.value == "") {
                      alert("Bitte gib deinen Nickname an!");
                      document.Joinus.Nickname.focus();
                      return false;
      }
                    else if(document.Joinus.Realname.value == "") {
                      alert("Bitte gib deinen Vor- und Zunamen an!");
                      document.Joinus.Realname.focus();
                      return false;
                    }
                    else if(document.Joinus.Wohnort.value == "") {
                      alert("Bitte gib deinen Wohnort an!");
                      document.Joinus.Wohnort.focus();
                      return false;
      }
                    else if(document.Joinus.E-Mail.value == "") {
                      alert("Bitte gib deine E-Mail-Adresse an!");
                      document.Joinus.E-Mail.focus();
                      return false;
                    }
                    else if(document.Joinus.E-Mail.value.indexOf('@') == -1) {
                      alert("Bitte gib eine existierende E-Mail Adresse an!");
                      document.Joinus.E-Mail.focus();
                      return false;
                    }
                    else if(document.Joinus.ICQ.value == "") {
                      alert("Bitte gib deine ICQ-Nummer an!");
                      document.Joinus.ICQ.focus();
                      return false;
                    var chkZ = 1;
                    for(i=0;i<document.Joinus.ICQ.value.length;++i)
                    else if(document.Joinus.ICQ.value.charAt(i) < "0"
                    || document.Joinus.ICQ.value.charAt(i) > "9")
                        chkZ = -1;
                    else if(chkZ == -1) {
                      alert("Bitte gib eine existierende ICQ-Nummer an!");
                      document.Joinus.ICQ.focus();
                      return false;
      }
                    else if(document.Joinus.RegelnAkzeptiert.value == "") {
                      alert("Du hast die Clanrules nicht akzeptiert!");
                      document.Joinus.RegelnAkzeptiert.focus();
                      return false;
      }
                    else if(document.Joinus.Wahrheit.value == "") {
                      alert("Deine Angaben entsprechen nicht der Wahrheit!");
                      document.Joinus.Wahrheit.focus();
                      return false;   
      }
                    //-->
                  </script>
            <FORM name=Joinus action=onclick: return chkJoinus(); http://aktuell.de.selfhtml.org/cgi-bin/formview.pl method=post>
                  <INPUT type=hidden value=wizard@ice-world.de name=recipient>

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Ich hab das Script mal korrigiert, bei mir läuft es so:

CODE
function chkjoinus(){
if(document.Joinus.Nickname.value == "") {
 alert("Bitte gib deinen Wohnort an!");
 document.Joinus.Nickname.focus();
 return false;
}
if(document.Joinus.Realname.value == "") {
 alert("Bitte gib deinen Wohnort an!");
 document.Joinus.Realname.focus();
 return false;
}
if(document.Joinus.Wohnort.value == "") {
 alert("Bitte gib deinen Wohnort an!");
 document.Joinus.Wohnort.focus();
 return false;
}
if(document.Joinus.EMail.value == "") {
 alert("Bitte gib deine E-Mail-Adresse an!");
 document.Joinus.EMail.focus();
 return false;
}
if(document.Joinus.EMail.value.indexOf('@') == -1) {
 alert("Bitte gib eine existierende E-Mail Adresse an!");
 document.Joinus.EMail.focus();
 return false;
}
if(document.Joinus.ICQ.value == "") {
 alert("Bitte gib deine ICQ-Nummer an!");
 document.Joinus.ICQ.focus();
 return false;
}
var chkZ = 1;
for(i=0;i<document.Joinus.ICQ.value.length;++i){
 if(document.Joinus.ICQ.value.charAt(i) < "0" || document.Joinus.ICQ.value.charAt(i) > "9"){
   chkZ = -1;
   break;
 }
}
if(chkZ == -1) {
 alert("Bitte gib deine ICQ-Nummer an!");
 document.Joinus.ICQ.focus();
 return false;
}
if(document.Joinus.RegelnAkzeptiert.checked != true) {
 alert("Du hast die Clanrules nicht akzeptiert!");
 document.Joinus.RegelnAkzeptiert.focus();
 return false;
}
if(document.Joinus.Wahrheit.checked != true) {
 alert("Deine Angaben entsprechen nicht der Wahrheit!");
 document.Joinus.Wahrheit.focus();
 return false;    
}
return true;
}

Der Form-Tag muss so aussehen (das Action-Feld natürlich noch anpassen, damit es auf die richtige Zielseite verweist):

CODE
<FORM name=Joinus action=http://www.deinedomain.tld/zielseite onsubmit="return chkjoinus();" method=post>

Griessli
Irene

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
super. das geht. danke euch. so schnelle lösung für meine probleme hab ich noch nie funden wink.gif nice

Ach ja, noch was: wie muss ich des in dem script schreiben, wenn ich ein auswahlfeld machen will. also option select z.b. die auswahl für des spiel. das man halt nicht weiter kann, wenn man "bitte wählen" ausgewählt hat

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Entweder Du lässt das "Bitte wählen" einfach weg (also das <option selected>Bitte w&auml;hlen</option>) oder Du fügst das noch in die function im Script ein:

CODE
if(document.Joinus.Spiel.selectedIndex==3){
 alert("Bitte wähle ein Spiel aus!");
 document.Joinus.Spiel.focus();
 return false;
}

Am besten direkt nach der Zeile function chkjoinus(){ einfügen.

Griessli
Irene

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstellen Sie einen Account oder melde Sie sich an um kommentieren zu können

You need to be a member in order to leave a comment

Create an account

Registrieren Sie einen neuen Account in unserer Community. Es ist einfach!


Register a new account

Anmelden

Haben Sie bereits einen Account? Dann melden Sie sich hier an.


Jetzt Anmelden
Anmelden, um zu folgen  
Folger 0