Ankündigung

Einklappen
Keine Ankündigung bisher.

Übergabe eines Stringwertes von HTML nach js

Einklappen

Neue Werbung 2019

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

  • #16
    Wofür brauchst du überhaupt einen Dateipfad dort ?

    geht es um einen File-Upload vom Benutzer? ...

    Da ergibt sich automatisch die Frage der Sicherheit - und dass sich Browser/ Webserver gegen allzuviel Einflußnahme wehren ... will heißen, in einem ORDENTLICHEN File-Upload Element funktioniert dein Onchange nicht .. damit man nicht per Javascript automatisiert Dateien des Benutzers auslesen kann ... Beschäftige dich bitte mit Sicherheit wie schon SaltLakeCity andeutet

    hier mal nachlesen: http://webcheatsheet.com/php/file_upload.php
    "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

    Kommentar


    • #17
      Das mit der Pfadübergabe funktioniert jetzt. Ich muss dies deshalb machen, da ich mehrere Unterordner habe und beim Laden eines php-files
      aus js geht mir meine Konstante (absoluter Pfad) verloren. Na jedenfalls ist das jetzt nicht mehr mein Problem.

      Ich möchte ein Input-Feld anhand der Auswahl eines Select-Feldes befüllen. Ich habe es jetzt soweit umgesetzt:

      Code:
      $(document).ready(function js3x04_Select_Whg() {
            $("#id_whg_3108").change(function(){
              var Whgid = $(this).children('option:selected').val();
              var absPath = document.getElementById('id_whg_3108').getAttribute('data-absPath');
            
              //Variante1
              //$("#dRahmen3").load("php/Inhalt3/inhalt3.js.select.Whg.php",{Whgid, absPath});
            
              //Variante2
              x = $("#id_wechselkurs_3109").load("php/Inhalt3/inhalt3.js.select.Whg.php",{Whgid,absPath});
              document.getElementById("id_wechselkurs_3109").value = x;
              
              });
      });
      Mittels des php-file mache ich eine Datenbankabfrage und lasse mir den Wert zum Schluss mit echo ausgeben. Wenn ich es nach Variante1 im
      Div-Element ausgebe funktioniert es, Wenn ich es nach Variante2 (Ausgabe in einem Inputfeld) mache, zeigt er mir im Inputfeld [object Object].
      Mein Problem ist also die Ausgabe des ermittelten Wertes im inputfeld.

      Kommentar


      • #18
        Warum vermischst du jQuery und natives JavaScript?

        Code:
        var absPath = $('#id_whg_3108').data('absPath');
        Und .load() gibt keinen Wert, sondern jQuery zurück. Also in x ist nicht das, was du denkst, das da sein soll.

        Wenn du Daten vom Server laden willst, solltest du sie am besten im JSON-Format übergeben und mittels jQuery mit $.getJSON() laden.

        Kommentar


        • #19

          Zitat von hellbringer Beitrag anzeigen
          Warum vermischst du jQuery und natives JavaScript?

          Weil ich es nicht besser wusste... --> Anfänger

          Ich habe versucht deine Antwort zu interpretieren und es jetzt so umgesetzt:

          js
          Code:
            x = $("#id_wechselkurs_3109").load("php/Inhalt3/inhalt3.js.select.Whg.php",{Whgid,absPath}); //PHP-File ausführen um der ausgewählten Währung den Währungskurs zu zuordnen
            document.getElementById("id_wechselkurs_3109").value = $.getJSON(x);
          inhalt3.js.select.Whg.php
          PHP-Code:
           echo json_encode($treffer[0]['whgkurs']); 
          Leider wird mir wiederum nur [object Object] in meinem Input-Element angezeigt.

          Kommentar


          • #20
            Ich hab dir doch gesagt, dass hier .load() falsch ist.

            Kommentar


            • #21
              Ich habe es jetzt so geändert/probiert:

              Code:
              //Variante1:
              //$("#id_wechselkurs_3109").getJSON("php/Inhalt3/inhalt3.js.select.Whg.php",{Whgid,absPath});
              //Variante2:
              document.getElementById("id_wechselkurs_3109").value = $.getJSON("php/Inhalt3/inhalt3.js.select.Whg.php",{Whgid,absPath});
              Beiede Varianten funktionieren nicht... Das Input-feld beleibt diesmal jeweils leer. Jetzt scheint er die php-datei gar nicht aufzurufen.

              Kommentar


              • #22
                Zitat von dih Beitrag anzeigen
                Beiede Varianten funktionieren nicht...
                Das hätte mich sonst auch gewundert. AJAX funktioniert anders. http://api.jquery.com/jquery.getjson/

                Kommentar


                • #23
                  Danke für den Link, aber irgendwie hilft mir das nicht so richtig weiter. Konnte leider kein Bsp. finden wo eine php-datei geladen wird und deren Ergebnis dann
                  in einem input-feld angezeigt wird. Bin ich wenigstens mit einer meiner Varianten nah dran?

                  Kommentar


                  • #24
                    Zitat von dih Beitrag anzeigen
                    Danke für den Link, aber irgendwie hilft mir das nicht so richtig weiter. Konnte leider kein Bsp. finden wo eine php-datei geladen wird und deren Ergebnis dann
                    in einem input-feld angezeigt wird. Bin ich wenigstens mit einer meiner Varianten nah dran?
                    Du solltest dich erstmal damit befassen, wie AJAX grundlegend funktionieren. Vergiss mal PHP und die Input-Felder.

                    Kommentar


                    • #25
                      Habe mir es jetzt noch mal angeschaut und denke das diese Lösung nah dran ist oder?

                      php:
                      PHP-Code:
                        ausgabe $treffer[0]['whgkurs'];
                        echo 
                      json_encode(ausgabe); 
                      js:
                      Code:
                      $(document).ready(function js3x04_Select_Whg() {
                        $("#id_whg_3108").change(function(){ //selectbox "id_whg_3108" wird bei OnChange Event nachfolgende Funktion zugewiesen
                        var Whgid = $(this).children('option:selected').val(); //Speicherung des selektierten Werts in der Variablen 'wert'
                        var absPath = $('#id_whg_3108').data('absPath');
                                      
                         $.ajax({
                                 url: "php/Inhalt3/inhalt3.js.select.Whg.php", Whgid, absPath
                                 method: "post",
                                 dataType: "json",
                                 data: ausgabe,
                                 success: function(response){
                                           var daten = jQuery.parseJSON(response);
                                           $("#id_whg_3108").val(response);
                                         }
                                });
                        });
                      });
                      Bekomme allerdings immer noch nichts angezeigt. Ich vermute das bei der Angabe der url keine Variablen mit übergeben werden können?

                      Kommentar


                      • #26
                        Code:
                        $.getJSON('php/Inhalt3/inhalt3.js.select.Whg.php', {
                            Whgid: Whgid,
                            absPath: absPath
                        }).done(function (data) {
                            $('#id_whg_3108').val(data);
                        });
                        Und bitte überleg dir sinnvollere Namen als so kryptische und unverständliche wie "Whgid". Und vermische nicht Deutsch mit Englisch.

                        Durchnummerierte PHP-Dateien deuten übrigens auf eine fehlerhafte Strukturierung hin.

                        Kommentar


                        • #27
                          Vielen Dank!!! Es funktioniert.

                          Kommentar

                          Lädt...
                          X