Probleme mit Java un PHP

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme mit Java un PHP

    Hallo an alle,

    versuche mir einige Arbeit mit dem Abfangen von leeren Formularen zu ersparen, und will dies nun Clientseitig machen, also mit Javaskript.
    Hab da auch ein Skript gefunden, das mit Dateien der Endung .htm und Co. gut funzt, nicht aber mit .php, wieso ?
    Hab von java leider keine Ahnung, und auch nicht wie ich Java und PHP zusammenbringe.

    Das ganze steht in meiner functions.php, in der meine häufig benötigten Formulare stehen. Bei allen anderen ist es egal ob einträge fehlen, aber bei einem eben nicht.
    Muss ich das Java-Skript woanders hinspeichern ? In ne externe Datei vielleicht ?

    Bin ratlos !

    Hier mal der vereinfachte Code :


    PHP-Code:
    <?PHP
    function test($nameeinsend="") {
    ?>

    <script language=JavaScript>
    function checkRequiredFields(input)
    {

        var requiredFields = new Array("nameeinsend");

        var fieldNames = new Array("nameeinsend");
        var fieldCheck   = true;
        var fieldsNeeded = "\nIn diesem Formular müssen Sie alle Felder ausfüllen! Bitte\nFüllen Sie folgende noch leere Felder aus:\n\n\t";

        for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {
            if ((input.elements[requiredFields[fieldNum]].value == "") ||
                (input.elements[requiredFields[fieldNum]].value == " ") ||
                (input.elements[requiredFields[fieldNum]].value == NULL) {

                fieldsNeeded += fieldNames[fieldNum] + "\n\t";
                fieldCheck = false;
            }
        }

        if (fieldCheck == true)
        {
            return true;
        }
        else
        {
            alert(fieldsNeeded);
            return false;
        }
    }
    </script>
    <form  method="POST" action="" name="test" onsubmit="return checkRequiredFields(this)">

      <table width="800" border="0" align="center" cellpadding="5" cellspacing="5" bgcolor="#0033CC" class="arial14">
        <tr> 
          <td>Name des Einsenders</td>
          <td><input name="nameeinsend" type="text" id="nameeinsend" value="<?PHP echo $nameeinsend;?>" size="20" maxlength="35"></td>
        </tr>
        <tr> 
          <td colspan="2" align="center"> <input name="undlos" type="submit"  value="Speichern"></td>
        </tr>
      </table>
    </form>
    <?PHP
    }
    ?>
    Bedanke mich schon mal für die hilfe,

    EI

  • #2
    Du meinst wohl Javascript und nicht Java. Javasript in einer PHP-Funktion ist natürlich nicht der Reisser. Laß mal das PHP weg.

    Offe

    Kommentar


    • #3
      Geht nicht,

      PHP muss sein. Dies ist ja nur ein kleiner Ausschnitt des Formulares, und da ich das Formular auch zum Baerbeiten der Daten benutze, werden schon vorhandene Daten eingelesen, also gehts ohne php nicht.

      EI

      Kommentar


      • #4
        Original geschrieben von ExInfernis
        Geht nicht,
        PHP muss sein.
        du sollst den code posten, der nachher beim client ankommt.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Das kommt vom Formular an, darüber steht noch einiges (Seitenkopf, Sitemap, ...) :

          Code:
          <script language=JavaScript>
          function checkRequiredFields(input)
          {
          
              var requiredFields = new Array("nameeinsend");
          
              var fieldNames = new Array("nameeinsend");
              var fieldCheck   = true;
              var fieldsNeeded = "\nIn diesem Formular müssen Sie alle Felder ausfüllen! Bitte\nFüllen Sie folgende noch leere Felder aus:\n\n\t";
          
              for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {
                  if ((input.elements[requiredFields[fieldNum]].value == "") ||
                      (input.elements[requiredFields[fieldNum]].value == " ") ||
                      (input.elements[requiredFields[fieldNum]].value == NULL) {
          
                      fieldsNeeded += fieldNames[fieldNum] + "\n\t";
                      fieldCheck = false;
                  }
              }
          
              if (fieldCheck == true)
              {
                  return true;
              }
              else
              {
                  alert(fieldsNeeded);
                  return false;
              }
          }
          </script>
          <form  method="POST" action="" name="test" onsubmit="return checkRequiredFields(this)">
          
            <table width="800" border="0" align="center" cellpadding="5" cellspacing="5" bgcolor="#0033CC" class="arial14">
              <tr> 
                <td>Name des Einsenders</td>
                <td><input name="nameeinsend" type="text" id="nameeinsend" value="" size="20" maxlength="35"></td>
              </tr>
              <tr> 
                <td colspan="2" align="center"> <input name="undlos" type="submit"  value="Speichern"></td>
              </tr>
            </table>
          </form>

          Kommentar


          • #6
            bei dir feht eine schliessende Klammer ) in der if-Bedingung.
            Sonst sehe ich keinen Fehler. Nur eine kleine Verbesserung:

            PHP-Code:
            if (input.elements[requiredFields[fieldNum]].value.length == 0) { ... } 
            ist besser, und weiter unten:

            PHP-Code:

            if (!fieldCheck)
                {
                    
            alert(fieldsNeeded);
                    return 
            false;
                }
            return 
            true
            das verbessert die Leserlichkeit; immer if ..else ist ein bisschen viel

            PS: warum packst du das Teil in eine Fkt ? IMHO Fkt. baut man, weil man
            das Gleiche in einem Prozess mehrmals braucht, du willst doch nicht die
            Fkt. für eine Seite mehrmals aufrufen oder denkt mal nach
            Zuletzt geändert von asp2php; 18.02.2004, 09:17.

            Kommentar


            • #7
              Original geschrieben von asp2php
              PHP-Code:
              if (!fieldCheck)
                  {
                      
              alert(fieldsNeeded);
                      return 
              false;
                  }
              return 
              true
              wenn du schon beim kürzen bist, kannst du daraus auch gleich
              Code:
              if (!fieldCheck) {
                 alert(fieldsNeeded);
              }
              return fieldcheck;
              machen :-)

              PS: warum packst du das Teil in eine Fkt ?
              vielleicht, weil es die lesbarkeit nicht gerade erhöhen würde, wenn er den ganzen code als wert des eventhandlers onSubmit notieren würde ...?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Original geschrieben von wahsaga
                wenn du schon beim kürzen bist, kannst du daraus auch gleich
                Code:
                if (!fieldCheck) {
                   alert(fieldsNeeded);
                }
                return fieldcheck;
                machen :-)
                also, wenn du schon beim Korrigieren bist, dann bitte auch Richtig .
                JS ist case sensitive

                Kommentar

                Lädt...
                X