Anzeige - [Hier werben]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
Diskussion

Formulare

Wizi
Geschrieben am: Di 6.07.2004, 14:59
Report PostQuote Post

AyomRank 2
****

Gruppe: Member (aktiv)
Beiträge: 19
Mitglied seit: 6.07.2004


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.
Top
PMEmail Poster
Top
 
 
Irene
irene.ch
#2 Geschrieben am: Di 6.07.2004, 15:11 (+00:11)
Report PostQuote Post

AyomRank 7
**************

Gruppe: Ehrenmitglied, Ex-Moderator
Beiträge: 1115
Mitglied seit: 3.05.2004


Das kannst Du mit Javascript lösen. Quelltext mit Erläuterungen von SelfHTML: http://de.selfhtml.org/javascript/beispiel...lareingaben.htm .

Griessli
Irene


--------------------
Top
PMUsers Website
Top
 
jonas
#3 Geschrieben am: Di 6.07.2004, 15:23 (+00:11)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 307
Mitglied seit: 20.10.2003


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.


--------------------
Top
PMEmail Poster
Top
 
Sandro Feuillet
zehnplus GmbH
#4 Geschrieben am: Di 6.07.2004, 15:24 (+00:01)
Report PostQuote Post

AyomRank 8
Group Icon 2 Gruppe: Moderator

Gruppe: Moderator
Beiträge: 1555
Mitglied seit: 4.05.2004


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


--------------------
Gruss Sandro

--------------------------------------------------------------------------

zehnplus - Wegweisende Lösungen
Top
PMEmail PosterUsers WebsiteYahooMSN
Top
 
jonas
#5 Geschrieben am: Di 6.07.2004, 15:39 (+00:15)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 307
Mitglied seit: 20.10.2003


@feuillet:
Gleichzeitig gepostet ;-)

Einen beispielhaften Code habe ich dir oben gepostet.


--------------------
Top
PMEmail Poster
Top
 
Wizi
#6 Geschrieben am: Mi 7.07.2004, 06:05 (+14:25)
Report PostQuote Post

AyomRank 2
****

Gruppe: Member (aktiv)
Beiträge: 19
Mitglied seit: 6.07.2004


ich hab weder von dem einen, noch von dem andern ne ahnung. kann ich das einfach als quelltext eingeben?
Top
PMEmail Poster
Top
 
jonas
#7 Geschrieben am: Mi 7.07.2004, 06:36 (+00:31)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 307
Mitglied seit: 20.10.2003


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
}
?>


--------------------
Top
PMEmail Poster
Top
 
Wizi
#8 Geschrieben am: So 11.07.2004, 14:06 (+4d 07:30)
Report PostQuote Post

AyomRank 2
****

Gruppe: Member (aktiv)
Beiträge: 19
Mitglied seit: 6.07.2004


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.
Top
PMEmail Poster
Top
 
Franz A.
#9 Geschrieben am: So 11.07.2004, 15:07 (+01:00)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 234
Mitglied seit: 21.12.2003


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


--------------------
früher Baschi3
Top
PMEmail Poster
Top
 
Wizi
#10 Geschrieben am: So 11.07.2004, 15:35 (+00:28)
Report PostQuote Post

AyomRank 2
****

Gruppe: Member (aktiv)
Beiträge: 19
Mitglied seit: 6.07.2004


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>
Top
PMEmail Poster
Top
 
Irene
irene.ch
#11 Geschrieben am: So 11.07.2004, 15:41 (+00:05)
Report PostQuote Post

AyomRank 7
**************

Gruppe: Ehrenmitglied, Ex-Moderator
Beiträge: 1115
Mitglied seit: 3.05.2004


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


--------------------
Top
PMUsers Website
Top
 
Wizi
#12 Geschrieben am: So 11.07.2004, 16:49 (+01:07)
Report PostQuote Post

AyomRank 2
****

Gruppe: Member (aktiv)
Beiträge: 19
Mitglied seit: 6.07.2004


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
Top
PMEmail Poster
Top
 
Irene
irene.ch
#13 Geschrieben am: So 11.07.2004, 19:17 (+02:28)
Report PostQuote Post

AyomRank 7
**************

Gruppe: Ehrenmitglied, Ex-Moderator
Beiträge: 1115
Mitglied seit: 3.05.2004


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


--------------------
Top
PMUsers Website
Top
 
Wizi
#14 Geschrieben am: So 11.07.2004, 20:02 (+00:45)
Report PostQuote Post

AyomRank 2
****

Gruppe: Member (aktiv)
Beiträge: 19
Mitglied seit: 6.07.2004


super dankeschön
Top
PMEmail Poster
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Paket JForm: HTML Formulare einfach erstellen & ... Josh 3963 22 Mo 25.04.2011, 17:47
Spam über Online Formulare verhindern maxinz 1822 5 Mo 18.10.2010, 18:29
PHP - Formulare Sicherheit G.P. 588 1 Mi 7.01.2009, 17:29
Mit Google Analytics Formulare tracken Beginner 1138 0 Mi 17.09.2008, 11:37
User Profil Daten, Formulare im Netz? marc2007 514 3 Do 7.02.2008, 11:23
Formulare Heideroosjes 765 14 Do 27.04.2006, 02:15
XHTML: Tabellen für Formulare benützen? Josh 841 6 Do 23.02.2006, 12:41
Outlook-Formulare und Alternativen Alonso 2486 3 Di 3.01.2006, 14:48
Wie erstellt man die einfachsten Formulare Sandro Feuillet 1706 17 Mo 2.05.2005, 10:51


Günstig werben auf Ayom:
Kontakt: ayom@small-n-tall.com



Anzeigen

Textlinks kaufen oder anbieten





[Hier werben]

 

Statistiken:
Top 10 Autoren heute
Top 50 Autoren insgesamt