Claudia B.: was ist falsch??

Hallo,

ich habe ein Problem mit folgendem Script:

<script type="text/javascript">
<!--
function chkFormular()
{
if (document.all.xgenehmigt.value == "Ja") &&
(document.all.xrealisierungdurch.value == "")
{document.Formular.xrealisierungdurch.focus();
alert("Bitte Realisierung durch eintragen" );}

if (document.all.xgenehmigt.value == "Ja") &&
(document.all.xaufgabendefinitio.value == "")
{document.Formular.xaufgabendefinitio.focus();
alert("Bitte Aufgabendefinition eintragen" );}

if (document.all.xgenehmigt.value == "Nein") &&
(document.all.xbegrndungdesvorst.value == "")
{document.Formular.xbegrndungdesvorst.focus();
alert("Bitte Begruendung eintragen" );}
}
//-->
</script>

Leider funktioniert es nicht.
Wo könnte der Fehler liegen?
Die Verknüfung AND mit && ist doch richtig, oder?

DAnke.

Claudia B.

  1. Hallo,

    <script type="text/javascript">
    <!--
    function chkFormular()
    {
    if (document.all.xgenehmigt.value == "Ja") &&
    (document.all.xrealisierungdurch.value == "")
    {document.Formular.xrealisierungdurch.focus();
    alert("Bitte Realisierung durch eintragen" );}

    if (document.all.xgenehmigt.value == "Ja") &&
    (document.all.xaufgabendefinitio.value == "")
    {document.Formular.xaufgabendefinitio.focus();
    alert("Bitte Aufgabendefinition eintragen" );}

    if (document.all.xgenehmigt.value == "Nein") &&
    (document.all.xbegrndungdesvorst.value == "")
    {document.Formular.xbegrndungdesvorst.focus();
    alert("Bitte Begruendung eintragen" );}
    }
    //-->
    </script>

    if (Bedingung){function();}
    wobei Bedingung entweder (z.b.) a < 10 oder
    Bedingung = (Bedingung) logischer operator (Bedingung) (z.b.)
    if ((a < 10) AND (a > 20)){
    function();
    }

    gruss

    --
    no strict;
    no warnings;
    Über eine Rückmeldung freut sich später jeder, der das gleiche Problem hat und im Archiv nach einer Lösung sucht.
  2. Hallo Claudia,

    also

    1. Ja, dass && ist zwar richtig, aber dein script ist falsch konzipiert ;) benutze lieber verschachtelte if abfragen, also:

    if(feld == bla) {
       if(feld2 == bla) {
          if(feld3 == bla) {
           return true;
          }
          else {
            alert("feld3 ist nich bla");
          }
       }
       else {
          aler("feld2 is nich bla");
       }
    }
    else {
      alert("feld is nich bla");
    }
    return false;

    2. Bitte bemühe vorm fragen das archiv, das selbe thema hatten wir erst ein paar tage zuvor ;-)

    3. Bitte benutze pregnantere Titel für deine Fragen ;-)

    Lieber Gruß

    Phil

    --
    ich bin ein nachmacher: http://www.eppstein.de
  3. Hi,

    zuerst: was genau funktioniert nicht, bzw. wie sollte sich denn die Funktion Deinem Wunsch nach verhalten?

    Dein Script ist unübersichtlich. Wenn ich komplexe Abfragen so codieren würde, würde ich nach ein paar Monaten auch nicht mehr durchblicken.

    Meine (auch logisch geänderte) Version (die genau wie Deine aber nur im IE funktioniert):

    function chkFormular()
    {
      if (document.all.xgenehmigt.value == "Ja"
       && document.all.xrealisierungdurch.value == "")
      {
        document.Formular.xrealisierungdurch.focus();
        alert("Bitte Realisierung durch eintragen");
      }
      if (document.all.xgenehmigt.value == "Ja"
       && document.all.xaufgabendefinitio.value == "")
      {
        document.Formular.xaufgabendefinitio.focus();
        alert("Bitte Aufgabendefinition eintragen");
      }
      if (document.all.xgenehmigt.value == "Nein"
       && document.all.xbegrndungdesvorst.value == "")
      {
        document.Formular.xbegrndungdesvorst.focus();
        alert("Bitte Begruendung eintragen");
      }
    }