if-Schleife

corona

Erfahrenes Mitglied
Hallo!

Hab ein Formular mit verschiedenen Feldern, in der man ein Datum eintragen kann. Nun will ich überprüfen, ob das richtige Datumsformat eingegeben wurde.

if(document.offers.month1.value <= 12 && document.offers.month1.value >= 1 || document.offers.month1.value == "MM"){
document.offers.submit();
}else{
alert("Please enter the right month in numbers 1-12!");
document.offers.month1.focus();
return false; }

Das klappt alles wunderbar. Wenn eine Zahl zwischen 1 und 12 oder der Standardwert MM eingegeben worden ist, wird das Formular abgeschickt. Ansonsten erscheint eine Fehlermeldung.

Ich habe aber 6 von diesen Feldern. Wenn ich nach dem Skript oben folgendes eingebe:

if(document.offers.month2.value <= 12 && document.offers.month2.value >= 1 || document.offers.month2.value == "MM"){
document.offers.submit();
}else{
alert("Please enter the right month in numbers 1-12!");
document.offers.month2.focus();
return false; }

Also das gleiche, nur mit dem textfeld month2 anstatt month1, überprüft er trotzdem nur das erste Textfeld.

Wieso? Was mache ich da falsch?

Danke für jede Hilfe!
 
Also der Code ist Ok so, haste vielleicht irgendwo nen Block den du nicht wieda schließt?
Oda poste mal den zusammenhängenden Code...

Sinac
 
problem gelöst.

einfach das document.offers.submit(); im else entfernen, und schon klappt es.


NEUES PROBLEM:

// wenn call_me angeklickt worden ist, aber keine telefonnummer eingetragen ist, kommt eine Fehlermeldung
if(document.offers.call_me.value == "yes" && document.offers.telephone.value == "") {
alert("If you want, that we call you, please enter your telephone-number!");
document.offers.telephone.focus();
return false;
} else {
document.offers.submit();
}

Wieso funktioniert das nun wiederum nicht?
Die Fehlermeldung kommt immer. Auch wenn call_me nicht angecklickt worden ist.

Wer kann mir helfen: thanx
 
corona hat gesagt.:
if(document.offers.call_me.value == "yes" && document.offers.telephone.value == "") {
alert("If you want, that we call you, please enter your telephone-number!");
document.offers.telephone.focus();
return false;
} else {
document.offers.submit();
}
Hallo,

das value ist gesetzt, unabhängig ob die Box gechecked ist oder nicht... Versuch lieber
Code:
if(document.offers.call_me.checked == true && document.offers.telephone.value == "")
btw. Es gibt keine IF-Schleifen, aber das nur nebenbei...

ciao
 
@Andreas Gaisbauer:
1000 Dank. Es hat geklappt.
Kriegst auch ein Lächeln von mir:
:-) :-) :-) :-) :-) :-) :-) :-) :-) :-)

Noch ein ganz kleine Frage:
Wenn ich eine email-Adresse auf Korrektheit überprüfen will, gibt es da noch eine andere Möglichkeit ausser:

// E-Mail-Überprüfung
if(document.offers.email.value.indexOf('@') == -1) {
alert("Please enter an available Email-Adress!");
document.offers.email.focus();
return false;
}
if(document.offers.email.value.indexOf('.') == -1) {
alert("Please enter an available Email-Adress!");
document.offers.email.focus();
return false;
}

Hier kann man nämlich trotzdem eine ungültige Adresse wie z.B. müller@gmx.de eingeben. Sonderzeichen, und noch einge andere Sachen, dürfen ja auch nicht vorkommen.
Wie macht Ihr das immer?
thanx
 
:) - Email Adressen Überpfrüfen... da kann man richtig aufwand treiben. Eine gute Funktion ist ime folgende:

Code:
function EMail(s)
{
 var a = false;
 var res = false;
 if(typeof(RegExp) == 'function')
 {
  var b = new RegExp('abc');
  if(b.test('abc') == true){a = true;}
  }

 if(a == true)
 {
  reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                   '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                   '(\\.)([a-zA-Z]{2,4})$');
  res = (reg.test(s));
 }
 else
 {
  res = (s.search('@') >= 1 &&
         s.lastIndexOf('.') > s.search('@') &&
         s.lastIndexOf('.') >= s.length-5)
 }
 return(res);
}
Das ganze ist nicht von mir, sondern von Jan Winkler und nachzulesen auf DrWeb unter http://www.drweb-neu.de/javascript/email_check.shtml - ich denke mal das du den einbau alleine hinbekommst, wenn nicht, einfach nochmal Posten...

ciao
 
Zuletzt bearbeitet:
Ich habe nur minimale Kenntnisse in JS, deswegen eine kleine Frage noch:

Ich hab in meinem Skript schon die Funktion chkFormular(). Im Form-Tag steht dann onSubmit="return chkFormular()"
wie soll ich denn jetzt die neue Function email() da einfügen?
Oder kann ich die in chkFormular() reintuen?

Kann ich das Skript, das du mir gepostet hast, einfach so benutzen, oder muss ich irgendwas ändern, beispielsweise den Namen des Feldes, wo man die email eintragen kann, noch irgenwo abändern?


nochmal 1000 DANK.
 
Du kannst enweder einfach die Email() funktion in deiner check Funktion aufrufen oder du baust sie direkt in dein Skript ein - beides ist möglich, ich persönlich würde nummer 1 bevorzugen. Wenn du deinen Code Postest oder anhängst, könnte ich dir zeigen wie ich es mein :)

bye
 
guten morgen :)
ich habs alleine versucht hinzukriegen, doch leider hat es nicht geklappt.
need some help :(
hier einige schnipsel von meinem code:

PHP:
<?php include("header.php"); ?>

<script type="text/javascript">
<!--
function chkFormular()
{
 if(document.offers.first_name.value == "") {
   alert("Please enter your first name!");
   document.offers.first_name.focus();
   return false;
  }
 if(document.offers.last_name.value == "") {
   alert("Please enter your last name!");
   document.offers.last_name.focus();
   return false;
  }
 if(document.offers.adress_line_1.value == "") {
   alert("Please enter your adress!");
   document.offers.adress_line_1.focus();
   return false;
  }
}
  
//-->
</script>
<?php
//php-code
?>
<form name="offers" method="post" action="<?php echo $PHP_SELF; ?>" onSubmit="return chkFormular()">
<table width="601" border="0" style="margin-top:20px; margin-left:50px;">
    <tr> 
      <td width="291" height="622" align="left" valign="top"> 
        <table width="289" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td width="1" bgcolor="#CCCCCC"><img src="images/1pxT.gif" width="1" height="1"></td>
            <td width="289" align="left" valign="top"><img src="images/enquiries.jpg" width="289" height="15"> 
              <table width="289" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td colspan="2" valign="top" class="content10" width="1">&nbsp;</td>
                </tr>
                <tr> 
                  <td colspan="2" valign="top" class="content10" width="289">&nbsp;&nbsp;(All 
                    fields with <font color="#339933">*</font> must be filled 
                    in) </td>
                </tr>
                <tr> 
                  <td width="133" valign="top" class="content12">&nbsp;</td>
                  <td width="156" valign="top" class="content12">&nbsp;</td>
                </tr>
                <tr> 
                  <td width="133" valign="top" class="content12">&nbsp;&nbsp;Title</td>
                  <td width="156" valign="top" class="content12"> <p>
                      <input name="title" type="text" size="5" style="width:40px;">
                    </p></td>
                </tr>
                <tr> 
                  <td width="133" valign="top" class="content12">&nbsp;&nbsp;First 
                    Name <font color="#339933">*</font></td>
                  <td valign="top" class="content12" width="156"> <p> 
                      <input type="text" name="first_name" style="width:145px;" >
                    </p></td>
                </tr>
                <tr> 
                  <td width="133" valign="top" class="content12">&nbsp;&nbsp;Last 
                    Name <font color="#339933">*</font></td>
                  <td valign="top" class="content12" width="156"><input type="text" name="last_name" style="width:145px;"></td>
                </tr>
                <tr> 
                  <td width="133" valign="top" class="content12">&nbsp;&nbsp;Adress 
                    Line 1 <font color="#339933">*</font></td>
                  <td valign="top" class="content12" width="156"><input type="text" name="adress_line_1" style="width:145px;"></td>
                </tr>
<tr> 
                  <td valign="top" class="content12" width="133">&nbsp;&nbsp;Email <font color="#339933">*</font></td>
                  <td valign="top" class="content12" width="156"><input type="text" name="email" style="width:145px;"></td>
                </tr>
             </table>

Reicht das? Oder brauchst du mehr?
 

Neue Beiträge

Zurück