Hilfe: Wie geht der Zugriff mittels Perl auf select-Formularfelder - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Sascha Fitzner (476 Beiträge) am Montag, 29.Dezember.2003, 14:28. WWW: planet-gaga.de
    Hilfe: Wie geht der Zugriff mittels Perl auf select-Formularfelder

      Hallo Forum,

      ich habe eine Frage. Ich habe in einem Template ein Formular. In diesem Formular ist eine Auswahlliste, in der mehrere Einträge markiert und somit ausgewählt werden können.

      Bsp.:

      <form method="post" action="baseportal.pl?htx=/idisk.de/bildarchiv/bildspeichern" enctype="multipart/form-data" onsubmit="return;">
      <select multiple name="bildrubrik_all=" size="4">
      <option>Pflanzengruppen - Beet/Balkonpflanzen
      <option>Pflanzengruppen - Kübelpflanzen
      <option>Pflanzengruppen - Stauden
      <option>Pflanzengruppen - Rosen
      <option>Pflanzengruppen - Gemüse
      </select>
      <input type="submit" value="Abschicken" name="B1">&nbsp;&nbsp;
      <input type="reset" value="Zurücksetzen" name="B2">
      </form>
      


      Nun möchte ich in dem durch obiges Template aufgerufene Template "bildspeichern" mittels perl auf dieses Feld bzw. auf die ausgewählten Selektionen zugreifen.

      Ich habe dort momentan einfach mal folgenden Code-Schnipsel drin um zu prüfen wie ich zugreifen kann.

      <schnipp>
      <perl>
      out "Hier gehts:<br>";
      out $bildrubrik_all."<br>";
      out "Hier nicht:<br>";
      out $bildrubrik_all[0]."<br>";
      out $bildrubrik_all[1]."<br>";
      out $bildrubrik_all[2]."<br>";
      out $bildrubrik_all[3]."<br>";
      out $bildrubrik_all[4]."<br>";
      out $bildrubrik_all[5]."<br>";
      out $bildrubrik_all[6]."<br>";
      </perl>
      

      Ich komme aber immer nur an das erste Element. Die Ausgabe welche ich bekommen ist ausgelöst durch die Codezeile

      out $bildrubrik_all."<br>";
      

      Ich brauche eine Lösung, wie ich an alle x markierten Einträge meiner Auswahlliste komme.

      Dann habe ich noch eine weitere Frage. Momentan kommt der Inhalt meiner Variable nur dann in meinem Zieltemplate an, wenn ich im Formular den Feldnamen mit angehängtem
      Gleichheitszeichen schreibe, also so:

      <select multiple name="bildrubrik_all=" size="4">
      

      Ich würde aber nun gerne die Feldnamen ohne angefügtes Gleichheitszeichen verwenden (und natürlich den Inhalt trotzdem an das aufgerufene Template übergeben bekommen), da mir das Gleichheitszeichen im Feldnamen Probleme bereitet wenn ich mittels Javascript darauf zugreife.

      Wer schön wenn mir auch hier jemand weiterhelfen könnte.

      Danke

      Sascha


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Sascha Fitzner (476 Beiträge) am Montag, 29.Dezember.2003, 14:28. WWW: planet-gaga.de
    Hilfe: Wie geht der Zugriff mittels Perl auf select-Formularfelder

      Hallo Forum,

      ich habe eine Frage. Ich habe in einem Template ein Formular. In diesem Formular ist eine Auswahlliste, in der mehrere Einträge markiert und somit ausgewählt werden können.

      Bsp.:

      <form method="post" action="baseportal.pl?htx=/idisk.de/bildarchiv/bildspeichern" enctype="multipart/form-data" onsubmit="return;">
      <select multiple name="bildrubrik_all=" size="4">
      <option>Pflanzengruppen - Beet/Balkonpflanzen
      <option>Pflanzengruppen - Kübelpflanzen
      <option>Pflanzengruppen - Stauden
      <option>Pflanzengruppen - Rosen
      <option>Pflanzengruppen - Gemüse
      </select>
      <input type="submit" value="Abschicken" name="B1">&nbsp;&nbsp;
      <input type="reset" value="Zurücksetzen" name="B2">
      </form>
      


      Nun möchte ich in dem durch obiges Template aufgerufene Template "bildspeichern" mittels perl auf dieses Feld bzw. auf die ausgewählten Selektionen zugreifen.

      Ich habe dort momentan einfach mal folgenden Code-Schnipsel drin um zu prüfen wie ich zugreifen kann.

      <schnipp>
      <perl>
      out "Hier gehts:<br>";
      out $bildrubrik_all."<br>";
      out "Hier nicht:<br>";
      out $bildrubrik_all[0]."<br>";
      out $bildrubrik_all[1]."<br>";
      out $bildrubrik_all[2]."<br>";
      out $bildrubrik_all[3]."<br>";
      out $bildrubrik_all[4]."<br>";
      out $bildrubrik_all[5]."<br>";
      out $bildrubrik_all[6]."<br>";
      </perl>
      

      Ich komme aber immer nur an das erste Element. Die Ausgabe welche ich bekommen ist ausgelöst durch die Codezeile

      out $bildrubrik_all."<br>";
      

      Ich brauche eine Lösung, wie ich an alle x markierten Einträge meiner Auswahlliste komme.

      Dann habe ich noch eine weitere Frage. Momentan kommt der Inhalt meiner Variable nur dann in meinem Zieltemplate an, wenn ich im Formular den Feldnamen mit angehängtem
      Gleichheitszeichen schreibe, also so:

      <select multiple name="bildrubrik_all=" size="4">
      

      Ich würde aber nun gerne die Feldnamen ohne angefügtes Gleichheitszeichen verwenden (und natürlich den Inhalt trotzdem an das aufgerufene Template übergeben bekommen), da mir das Gleichheitszeichen im Feldnamen Probleme bereitet wenn ich mittels Javascript darauf zugreife.

      Wer schön wenn mir auch hier jemand weiterhelfen könnte.

      Danke

      Sascha

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Montag, 29.Dezember.2003, 15:23.
    Re: Hilfe: Wie geht der Zugriff mittels Perl auf select-Formularfelder

      Hallo, Sascha,
      nice to see you again ;-)
      mhm - da gabs schon mal ne lange Diskussion zu - ohne Ergebnis....
      Es geht nicht (so einfach) mit Mehrfachauswahlten von Select-Feldern - hängt damit zusammen, dass der Name des Feldes und der ausgewählte Inhalt mehrfach an bp gesendet wird und sich die Ihnalte immer überschreiben - übrig bleibt immer nur die letzte Auswahl (btw - bei dir fehlen die value-Attribute in den Optiontags - so kommt wahrscheinlich gar nix an oder?)
      Das wäre eine Aufgabe für Christoph, den bp-internen CGI-Parser (oder wie auch immer sone Routine heisst, die die ans Script übergebenen Werte ausliest...) anzupassen, damit das möglich wird.
      Ansonsten wäre dann wirklich nur die Möglichkeit auf andere Felder auszuweichen, bspw. Checkoxen, wobei da wieder das Problem bei keiner Auswahl besteht (da ist dann nicht mal der name im %_get-Hash)

      Mit den Feldern ohen "=" hab ich auch schon mal probiert, geht definitiv nicht bzw. nur, wenn du die Daten dann mittels der Methode "get" übergibst und da ist dann irgendwo eine Beschränkung in der Datenmenge (weiss ich aber nicht wo) und die Daten werden an die URL sozusagen angehängt....ausserdem sind damit die übergebenen Daten nicht über den Varnamen ansprechbar...
      Aber das "feldname=" ist nach meiner Erfahrung bei JS kaum ein Prob, wenn man nicht irgendwo so ein Feld direkt als JS-interne Variable nutzen will - da hilft dann wirklich nur umspeichern, ich mach das am liebsten über die Methode getElementsByName("feldname=")[0].value, die von allen modernen Browsern ausgeführt wird....

      na dann, guten Rutsch

      Ruben

     Antworten

    Beitrag von Sascha Fitzner (476 Beiträge) am Montag, 29.Dezember.2003, 16:18. WWW: planet-gaga.de
    Re: Hilfe: Wie geht der Zugriff mittels Perl auf select-Formularfelder

      hi ruben,

      danke erstmal für die nette begrüssung...stimmt war lange zeit kein aktiver schreiberling mehr im forum, sondern habe nur ab und an mal mitgelesen, aber ich musste mal nen bischen andere prioritäten setzen.

      auch dir schon mal einen guten rutsch...

      das mit den variablennamen und dem "=" hinten dran habe ich bereits umschifft....aber das mit der auswahlliste scheint ein bischen schwieriger zu werden wie ich dachte....

      ich dachte eigentlich das würde in meinem empfangstemplate so a la

      foreach($variable) {
         out $variable;
      }
      

      oder ähnlich gehen, habe dazu in dem buch CGI-Programmierung in Perl von o'reilly nen schnipsel gefunden der eigentlich recht einfach aussah (zumindest die optik, weniger das verständniss ;-) ) aber da wird nen "uses CGI" verwendet und das scheint wohl nicht so ganz baseportal-verträglich zu sein... schade eigentlich, ich hatte mir das eigentlich recht einfach vorgestellt die ausgewählten optionen in mein folgetemplate zu schieben um diese dann dort zu verarbeiten.

      hat denn da wirklich noch keiner eine lösung für gefunden??? das kann ich in diesem forum hier ja eigentlich gar nicht glauben (ich bin doch hier bei baseportal.de oder???? ;-)

      ich hoffe mal das ich noch eine antwort bekomme dir mir nen bischen weiterhilft, aber nicht mehr zu den variablennamen und javascript, das ist bereits gelöst....

      danke

      sascha fitzner

     Antworten

    Beitrag von olaf (59 Beiträge) am Montag, 29.Dezember.2003, 19:27.
    Re: Hilfe: Wie geht der Zugriff mittels Perl auf select-Formularfelder

     Antworten

    Beitrag von hemperl (1 Beitrag) am Montag, 29.Dezember.2003, 21:07.
    Re: Hilfe: Wie geht der Zugriff mittels Perl auf select-Formularfelder

      Hey. Olaf,
      danke - hatte ich damals leider überlesen - stimmt, es geht mit name="feldname:=" !
      mhm - das ist zwar nicht das tollste, aber es ist wenigstens nutzbar - muss mal sehn, was mir da im Zusammenhang mit eigenen Formularen und Form name="Feldname=" einfällt - ich kann dann nämlich den %_put-Hash nicht gebrauchen - hängt mit Ändern und Übergeben von "leerwerten" zusammen....

      Und die Inkonsistenzen der bp-internen Hash hat Christoph halt leider nicht beseitigt - da gabs mal vor Urzeiten sogar ne Umfrage von CB dazu.... ;-) und nenn langen Thread was wie sein könnte-sollte-würde... Hatte auch der Perl-Junkie Andreas Jurenda was dazu geschrieben, aber is leider nie umgesetzt worden....

      CU
      Ruben

     Antworten

    Beitrag von Sascha Fitzner (476 Beiträge) am Dienstag, 30.Dezember.2003, 15:30. WWW: planet-gaga.de
    Re: Hilfe: Wie geht der Zugriff mittels Perl auf select-Formularfelder

      Danke Euch beiden. Problem ist gelöst.

      Guten Rutsch

      Sascha Fitzner

     Antworten


     
 Liste der Einträge von 33000 bis 33150:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.09s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!