Script macht nichts

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

  • Script macht nichts

    Hallo,

    Ich habe eine Pulldownliste aus einer Sql Datenbank erstellt.
    Das pulldownmenü soll mit einem OnClick Handler automatisch weitergehen, sobald ich etwas aufrufe.

    Es passiert aber nichts!

    Hier ist mein Scriptauszug:
    #
    PHP-Code:
    echo '<form name="form1" ';

    // Bundesländersuchabfrage erstellen
    echo "Bundesland: &nbsp;&nbsp;";

    $rsKat = mysql_query("SELECT DISTINCT bundesland FROM ".$tab_honig,$dblink);
    // Pulldownmenü Bundesland
    ?>

    <select name="bundesland" size="1" ONCHANGE="parent.Fenster.location.href = 'suche1.php?bundesland=' + document.form1.bundesland.value;" >
        <option SELECTED VALUE="0"> In allen Bundesländern suchen </option>
        <?
            while ($row = mysql_fetch_array($rsKat))
                {
                ?>
                <option VALUE="<?echo $row['bundesland'] ?> ">
                <? if ($row['bundesland'] == $bundesland) echo "selected";
                 echo $row['bundesland'] ?></option>
                <? } ?>
    </select>
                    

    </form>
    Bitte um Hilfe

    Georg

  • #2
    du fragst den selectierten wert falsch ab ... selfHTML -> javascript -> anwendungsbeispiele ... das steht ein schickes beispiel
    Kissolino.com

    Kommentar


    • #3
      Mach mal das form-Tag zu:

      echo '<form name="form1"[COLOR=red]>[/COLOR]';
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar


      • #4
        und poste verflixt noch mal den code, der beim client ankommt, wenn du über ein clientseitiges problem diskutieren willst - der PHP-code ist dabei vollkommen uninteressant.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Das ist der Code beim Client:

          Code:
           <form name=""> Bundesland: &nbsp;&nbsp;
          <select name="bundesland" size="1" ONCHANGE="this.form.bundesland.options[this.form.bundesland.options.selectedIndex] .value;" >
          	<option SELECTED VALUE="0"> In allen Bundesländern suchen </option>
          				<option VALUE="Niederösterreich ">
          			Niederösterreich</option>
          						<option VALUE="Oberösterreich ">
          			Oberösterreich</option>
          			</select>
                  		
          
          </form>
          Habe mich bereits etwas weiter gespielt mit dem Beispiel aus selfHTML.

          Ist aber auch das selbe.

          Georg

          Kommentar


          • #6
            Das ist der Code vom Script bei der Anfrage:

            Code:
             <form name="form1"> Bundesland: &nbsp;&nbsp;
            <select name="bundesland" size="1" ONCHANGE="parent.Fenster.location.href = 'suche1.php?bundesland=' + document.form1.bundesland.value;" >
            	<option SELECTED VALUE="0"> In allen Bundesländern suchen </option>
            				<option VALUE="Niederösterreich ">
            			Niederösterreich</option>
            						<option VALUE="Oberösterreich ">
            			Oberösterreich</option>
            			</select>
                    		
            
            </form>

            Kommentar


            • #7
              1. achte mal auf das Leerzeichen vor .value
              2. onChange-Event einen Wert übergeben. Was soll das werden
              3. in deinem 1. Posting: warum parent ? Steht die Liste in einer anderen Frame ?

              Kommentar


              • #8
                Soll die gleiche Seite sein, da ja danach noch eine weitere Abfrage erfolgt.

                Kenne mich in JavaScript fast nicht aus.
                Habe den Code aus einem Javascript-Forum.


                Grundsätzlich muss ich einen Wert übergeben, da ich ja damit weiterarbeiten muss.

                Irgendwie muss es doch gehen, es gibt genug Beispiele davon auf Webseiten.

                Wenn es nicht geht füge ich den guten alten Submit Button wieder ein!

                Georg

                Kommentar


                • #9
                  wenns die gleiche Seite ist und du nur einen Reload machst, dann lass den
                  Kramm mit der selectierten Wert in JavaScript. Mach einfach so:
                  PHP-Code:
                  ...onChange="document.form1.submit();"
                  dann am Anfang des Scripts liest du den gesendeten Inhalt aus:
                  PHP-Code:
                  if (isset($_GET['bundesland']) && !empty($_GET['bundesland'])) {
                  // Wert existiert, tu dies 
                  }
                  else {
                  // Wert nicht definiert, tu das 

                  achja, action="suche1.php" in form-Tag auch noch einfügen, und
                  wenn du auch noch method="post" dazu packst, dann ändere $_GET
                  in $_POST ist besser
                  Zuletzt geändert von asp2php; 18.03.2004, 13:14.

                  Kommentar


                  • #10
                    document.form1.bundesland.value

                    wie zum henker kommst du bitte darauf, dass ein select eine eigenschaft value haben soll?


                    lies doch endlich mal in selfhtml nach, wie man richtig auf select-felder und options zugreift!
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Danke für die Hilfe!

                      Ich habe das Problem jetzt so gelöst:

                      PHP-Code:
                       echo '<form name="form1" action="suche1.php" method="post"> ';

                      // Bundesländersuchabfrage erstellen
                      echo "Bundesland: &nbsp;&nbsp;";

                      $rsKat = mysql_query("SELECT DISTINCT bundesland FROM ".$tab_honig,$dblink);
                      // Pulldownmenü Bundesland
                      ?>

                      <select name="bundesland" size="1" ONCHANGE="document.form1.submit();" >
                          <option SELECTED VALUE="0"> In allen Bundesländern suchen </option>
                          <?
                              while ($row = mysql_fetch_row($rsKat))
                                  {
                                  ?>
                                  <option VALUE="<?echo $row[0] ?> ">
                                  <? 
                                  if ($row[0]==$bundesland) echo "selected";
                                   echo $row[0] ?></option>
                                  <? } ?>
                      </select>
                                      

                      </form>
                      Georg

                      Kommentar


                      • #12
                        und DAS läuft ?

                        Kommentar


                        • #13
                          zumindest läuft es.

                          Hab nur noch 1 Problem, und das ist folgende Zeile:


                          PHP-Code:
                          if ($row[0]==$bundesland) echo "selected"
                          Wobei ich vorausschicke, das der Wert an $bundesland weiter vorne schon übergeben wird.
                          Die Variable auch auch den richtigen Wert.


                          Was würdest du anders machen?

                          Georg

                          Kommentar


                          • #14
                            Und wie äußert sich dieses "1 Problem"?
                            Wird das Bundesland nicht vormarkiert oder was?

                            Kommentar


                            • #15
                              Original geschrieben von ernte
                              zumindest läuft es.

                              Hab nur noch 1 Problem, und das ist folgende Zeile:


                              PHP-Code:
                              if ($row[0]==$bundesland) echo "selected"
                              Wobei ich vorausschicke, das der Wert an $bundesland weiter vorne schon übergeben wird.
                              Die Variable auch auch den richtigen Wert.


                              Was würdest du anders machen?

                              Georg
                              meine ich doch, läuft also nicht

                              Du hast übrigens den Wert von bundesland nirgends abgefragt und in
                              $bundesland abgelegt, wie soll denn der Vergleich true werden.
                              Nun schau mal die <option>-Tags an. Warum wird der 1. Eintrag immer
                              selektiert ?
                              Schau dir besonders den While-Block an. Fällt dir was auf ?
                              Ausserdem warum gibst du die HTML-Tags nicht komplett per echo aus ?
                              Ist performanter. Und size=1 ist überflüssig.

                              Ansonstens empfehle ich, dass du HTML-Grundlagen mal richtig reinziehst,
                              dann kannste mit PHP anfangen. Man kann doch nicht PHP schreiben, ohne
                              HTML richtig zu beherrschen.

                              Kommentar

                              Lädt...
                              X