Re: Re: Wert an Script übergeben - 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 PeterAhnungslos (4 Beiträge) am Montag, 12.Dezember.2016, 16:53.
    Re: Re: Wert an Script übergeben

      Hi Sander, danke für die schnelle Antwort.
      Einen dazugehörigen Perl-Teil gibts auf dieser Seite nicht, weil das
      Script den Wert (den ich nicht an das Script übergeben kann) in ein
      input-hidden-feld schreibt, daß das dann in eine Return-DB schreibt.

      <script>
        function _sendId(ret)
        {                            
            document.getElementById('RWText').value = "ReitStdBearbeiten"; 
            document.getElementById('RWZahl1').value = ret;   // ---- return-Wert
            document.forms[0].submit();                       // ---- wechselt zur Seite: RetWert 
      
        }
      </script>

      Perl list den Wert dann erst wieder aus der Return-DB aus.

      Natürlich wärs der Königsweg, wenn ich den Wert einfacher an Perl
      übergeben könnte.
      Hab aber auch bei der AJAX-Doku nicht wirklich was gefunden.


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von PeterAhnungslos (4 Beiträge) am Montag, 12.Dezember.2016, 10:05.
    Wert an Script übergeben

      Liebe Wissenden,
      ich hab einen Button der auf ein Script verweist
      und einen Wert übergeben soll:

      <button type="button" onclick="sendId(205)">bearbeiten</button>
      

      Das Script:

      <script>
        function _sendId(wert)
        {                            
             alert(wert);
        }
      </script>
      

      ... wird korrekt aufgerufen aber der Wert kommt leider nicht an.

      Was mach ich falsch?

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 12.Dezember.2016, 12:48.
    Re: Wert an Script übergeben

      zeig mal den relevanten Perlteil dazu.

     Antworten

    Beitrag von PeterAhnungslos (4 Beiträge) am Montag, 12.Dezember.2016, 16:53.
    Re: Re: Wert an Script übergeben

      Hi Sander, danke für die schnelle Antwort.
      Einen dazugehörigen Perl-Teil gibts auf dieser Seite nicht, weil das
      Script den Wert (den ich nicht an das Script übergeben kann) in ein
      input-hidden-feld schreibt, daß das dann in eine Return-DB schreibt.

      <script>
        function _sendId(ret)
        {                            
            document.getElementById('RWText').value = "ReitStdBearbeiten"; 
            document.getElementById('RWZahl1').value = ret;   // ---- return-Wert
            document.forms[0].submit();                       // ---- wechselt zur Seite: RetWert 
      
        }
      </script>

      Perl list den Wert dann erst wieder aus der Return-DB aus.

      Natürlich wärs der Königsweg, wenn ich den Wert einfacher an Perl
      übergeben könnte.
      Hab aber auch bei der AJAX-Doku nicht wirklich was gefunden.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 12.Dezember.2016, 18:21.
    Re: Re: Re: Wert an Script übergeben

      dann stimmt dein Funktionsaufruf oder Funktionsname nicht (die müssen in dem Fall gleich sein).

      <script>
        function sendId(wert)
        {                            
             alert(wert);
        }
      </script>
      <button type="button" onclick="sendId(205)">bearbeiten</button>
      


      willst du den Wert direkt an Perl senden, kannst du die Ajaxfunktion von bp verwenden

      <perl script=sendId>
      # mach irgendwass mit $Id
      out "in Perl angekommen: ".$Id;
      </perl>
      

      <script>
        function _sendId(response)
        {                            
             alert(response);
        }
      </script>
      <button type="button" onclick="sendId('Id=205')">bearbeiten</button>
      

      man kann auch mehrere Werte schicken wie in der Doku beschrieben:
      Konto-Nr.: <input type=text id='kto' onkeyup="kontocheck('kto='+this.value+'&'+'blz='+document.getElementById('blz').value)"><br/>
      BLZ: <input type=text id='blz' onkeyup="kontocheck('kto='+document.getElementById('kto').value+'&'+'blz='+this.value)"><br/>
      dann würden im perl-teil $kto und $blz zur Verfügung stehen

      http://doku.baseportal.de/101.html

     Antworten

    Beitrag von PeterAhnungslos (4 Beiträge) am Montag, 12.Dezember.2016, 19:09.
    Re: Re: Re: Re: Wert an Script übergeben

      Vielen Dank Sander,

      beide Versionen laufen.

      Für die zweite Lösung - dem Königsweg - hab ich mir im WWWeb den Wolf gelesen und nichts wirklich brauchbares gefunden.

      Einfach Toll und nochmals Danke !!!

     Antworten

    Beitrag von PeterAhnungslos (4 Beiträge) am Dienstag, 13.Dezember.2016, 10:33.
    Re: Re: Re: Re: Re: Wert an Script übergeben

      Hi Sander,

      man soll den Tag nicht vor dem Abend loben.

      Mit deinem Vorschlag onclick="sendId('Id=$Id') gehts nicht richtig,
      weil Perl dann irgendeinen "Id" von irgendeiner DB nimmt.
      Aber mit einer anderen Bezeichnung flutscht es.

      Aber jetzt kommt das nächste Problem.

      Mein JS-Script macht eigentlich garnichts - außer evtl. den ALERT öffnen.

      Das Perl-Scrip dazu ...

      <perl script=sendId>
      out "in Perl angekommen: ".$retId;
      mod "DatBez==ReitEventId", ["DatZahl", $retId], "Steuer";
      out "<meta http-equiv=\"refresh\" content=\"0\" URL=\"http://baseportal.de/cgi-bin/baseportal.pl?htx=/Benutzer/neueSeite\">";
      </perl>
      

      ... schreibt beide OUTS in den ALERT, führt aber den mod-Befehl korrekt aus.
      Wenn ich den ALERT und das erste OUT weglasse, führt er auch den mod-Befehl
      aus, und macht dann garnichts mehr.
      d.H. er schreibt den HTML-Text irgendwo ins Nirwana.
      Ich hab schon zig Änderungen ausprobiert, aber es läuft nicht.

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Freitag, 16.Dezember.2016, 00:11.
    Re: Re: Re: Re: Re: Re: Wert an Script übergeben

      > ... schreibt beide OUTS in den ALERT, führt aber den mod-Befehl korrekt aus.
      

      Du hast es doch auch so programmiert:
           alert(response);
      


      AJAX:
      Client (JavaScript) sendet Anfrage an Server
      Server (Perl) schickt Antwort an Client (out ...)
      Client (JavaScript) macht Irgendwas damit
      -> HTML hat damit erst einmal nichts zu tun.

      Du kannst nicht einfach HTML an das JavaScript übergeben und erwarten dass es irgendwo in der Seite angezeigt wird. JS kann nur im aktuellen Dokument etwas damit tun z.B. Inhalte der aktuellen Seite verändern. Oder Knoten anfügen.

      http://doku.baseportal.de/101.html


      Ist Ajax der richtige Ansatz für dich?

     Antworten


     
 Liste der Einträge von 1050 bis 1200:Einklappen Zur Eingabe 
Neueste Einträge << 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.08s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!