Announcement

Collapse
No announcement yet.

Bild laden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Bild laden

    Hallo Community,

    ich hab mal wieder ein kleines Problem.
    folgendes: Auf einer Seite ist ein Textfeld das mit einem Pfad aus der Datenbank gefüllt wird. Wenn ich das Textfeld bearbeite und z.b. den Pfad aktualisiere wird das Bild darunter dann angezeigt. Das passiert aber nur beim ändern von Hand.
    Code:
    <td><input type="text2" size="60" maxlength="250" name="bpfad1" value ="' . $lWerte[(3)] . '" onkeyup="ShowPic(this.value, 1);" required></td></tr>
    Soweit so gut, ABER, das Bild wird nach dem Laden der Seite nicht dargestellt, und genau das soll es aber.
    Habe es schon mit einem
    Code:
    <script>ShowPiconLoad("bpfad1", "1");</script>
    nach dem INPUT versucht, das funktioniert nur nicht. Ja die Funktion heisst momentan anders, damit teste ich ob ich an den Value vom Inputfeld komme, aber das klappt nicht.
    Hat jemand von euch da eine Idee?

    Nochmal kurz: Ich möchte das das Bild angezeigt wird nachdem die Seite aufbaut wurde (funktioniert nicht) UND das Textfeld mit dem Pfad gefüllt wurde sowie das das Bild sich ändert wenn der User den Pfad ändert (funktioniert).

  • #2
    Dann musst du die Javascriptfunktion auch erst nach dem laden der Seite ausführen
    Body-Tag -> onload
    Christian

    Comment


    • #3
      Die Funktion "ShowPiconLoad" wird ja nach dem laden der Seite aufgerufen, dort ist zur Zeit ein einfaches alert drin, und das kommt auch nach dem Laden der Seite. Mein Problem liegt gerade darin, das der Value vom Input Name "bpfad1" in dem Javascript nicht ausgelesen werden kann.

      Comment


      • #4
        Das ist es offenbar nicht nach dem laden der Seite.
        Vielleicht zeigst du mal den VOLLSTÄNDIGEN Code der Seite
        Christian

        Comment


        • #5
          Okidoki,
          hier der gesamte Code.

          PHP Code:
          <!DOCTYPE html>
          <html lang="de">
          <head>
          <title>Backend Reiseblog</title>

          <?php
          include_once 'includes/db_connect.php';
          include_once 
          'includes/functions.php';
          sec_session_start();
          /*  Beginn Scripte laden  */
          Include ('bk_scripte.php');
          /* Ende Scripte laden */
          $_SESSION['kundID'] = $_GET['q'];
          ?>
          <script>
          function ShowPic(wert, nr)
              {

                  if (window.XMLHttpRequest) {
                      xmlhttp = new XMLHttpRequest();
                  } else {
                      // AJAX mit IE6, IE5
                      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                  }
                  xmlhttp.onreadystatechange = function () {
                      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {document.getElementById("hinweis" + nr).innerHTML = xmlhttp.responseText;}
                  }

                  xmlhttp.open("GET", "bk_showpicture.php?q=" + wert, true);
                  xmlhttp.send();
              }
          function ShowPiconLoad(elem, nrr)
              {
                  alert(elem);
              }
             
          </script>
          </head>
          <body>
          <div id="container">

          <!-- Beginn Navigation -->
              <?php Include ('bk_nav.php'); ?>
          <!-- Ende Navigation -->


          <div id="content">
          <form id="header" method="post" action ="<?php echo 'bk_headerneu.php?q=' $_SESSION['kundID']; ?>">
          <?php
          if (login_check($mysqli) == true) {
                  
          $Kanzahl readonerow("Select Count(*) from Header Where ID='" $_SESSION['kundID'] . "'");
                  if (
          $Kanzahl[0] == "0") {
                      echo 
          '<p2>Diesen Header gibt es nicht! Sie werden in 3 Sekunden automatisch weitergeleitet.</p2>';
                      echo
          '<meta http-equiv="refresh" content="3; URL=bk_headerlisten.php">';
                  } else {
                      
          $lWerte readonerow("Select * from Header Where ID='" $_SESSION['kundID'] . "'");

                      echo 
          '<table border="0" width="100%" ><tr><td align="center"><p3>Header ändern</p3></td></tr></table><br>
                      <table border="1" width="100%"> 
                      <colgroup> <col width="20%"> <col width="80%"> </colgroup> 
                      <tr><td>
                      <p2>Bezeichnung</p2></td>
                      <td><input type="text2" size="60" maxlength="250" id="haupt" name="haupt" value ="' 
          utf8_encode($lWerte[1]) . '"required></td>
                      </tr></td></table>                                        
                      <table width="100%" border="1">
                      <colgroup><col width="20%"><col width="80%"></colgroup>

                      <tr><td><p2>Titel 1</p2></td>
                      <td><input type="text2" size="60" maxlength="250" name="titel1" value ="' 
          utf8_encode($lWerte[(2)]) . '" required></td></tr>
                      <tr><td><p2>Bild 1</p2></td><td><span id="hinweis1"></span></td></tr>
                      <tr><td><p2>Bildpfad 1</p2></td>
                      <td><input type="text2" size="60" maxlength="250" name="bpfad1" value ="' 
          utf8_encode($lWerte[(3)]) . '" onkeyup="ShowPic(this.value, 1);" required></td></tr>
                      <tr><td><p2>Untertitel 1</p2></td>
                      <td><input type="text2" size="60" maxlength="250" name="utitel1" value ="' 
          utf8_encode($lWerte[(4)]) . '" required></td></tr>
                      <tr><td><p2>Link 1</p2></td>
                      <td><input type="text2" size="60" maxlength="250" name="link1" value ="' 
          utf8_encode($lWerte[(5)]) . '" required></td></tr>
                      <script>ShowPiconLoad("bpfad1", "1");</script>

                      <tr><td><p2>Titel 2</p2></td>
                      <td><input type="text2" size="60" maxlength="250" name="titel2" value ="' 
          utf8_encode($lWerte[(6)]) . '" required></td></tr>
                      <tr><td><p2>Bild 2</p2></td><td><span id="hinweis2"></span></td></tr>
                      <tr><td><p2>Bildpfad 2</p2></td>
                      <td><input type="text2" size="60" maxlength="250" name="bpfad2" value ="' 
          utf8_encode($lWerte[(7)]) . '" onkeyup="ShowPic(this.value, 2);" required></td></tr>
                      <tr><td><p2>Untertitel 2</p2></td>
                      <td><input type="text2" size="60" maxlength="250" name="utitel2" value ="' 
          utf8_encode($lWerte[(8)]) . '" required></td></tr>
                      <tr><td><p2>Link 2</p2></td>
                      <td><input type="text2" size="60" maxlength="250" name="link2" value ="' 
          utf8_encode($lWerte[(9)]) . '" required></td></tr>
                      <script>ShowPiconLoad("bpfad2", "2");</script>

                      <tr><td><p2>Titel 3</p2></td>
                      <td><input type="text2" size="60" maxlength="250" name="titel3" value ="' 
          utf8_encode($lWerte[(10)]) . '" required></td></tr>
                      <tr><td><p2>Bild 3</p2></td><td><span id="hinweis3"></span></td></tr>
                      <tr><td><p2>Bildpfad 3</p2></td>
                      <td><input type="text2" size="60" maxlength="250" name="bpfad3" value ="' 
          utf8_encode($lWerte[(11)]) . '" onkeyup="ShowPic(this.value, 3);" required></td></tr>
                      <tr><td><p2>Untertitel 3</p2></td>
                      <td><input type="text2" size="60" maxlength="250" name="utitel3" value ="' 
          utf8_encode($lWerte[(12)]) . '" required></td></tr>
                      <tr><td><p2>Link 3</p2></td>
                      <td><input type="text2" size="60" maxlength="250" name="link3" value ="' 
          utf8_encode($lWerte[(13)]) . '" required></td></tr>
                      <script>ShowPiconLoad("bpfad3", "3");</script>
                      </table>
                      <table border="0" width="100%"> 
                      <colgroup> <col width="20%"> <col width="80%"> </colgroup> 
                      <tr><td><p2>Erstellt</p2></td><td>
                      <input type="text2" size="60" maxlength="250" id="link" name="erstellt" value ="' 
          date("d.m.Y H:i:s"time()) . '" disabled>
                      </td></tr></table>
                      <table border="0" width="100%">
                      <tr><td><div id="buttonpos">
                      <span id="hinweis"></span>
                      </div></td></tr></table>                                    

                      <table border="0" width="100%">
                      <tr><td align="center">
                      <input style="height: 60px; width: 280px; font-size:20px; text-align:center;" type="submit" value="Änderung speichern" name="Konf2">
                      </td></tr></table>'
          ;
                  }
          } else {
              echo
          '<meta http-equiv="refresh" content="3; URL=bk_login.php">';
              echo 
          '<p style="font-size:16px;">Bitte erst einloggen. Sie werden in 3 Sekunden zum Login weitergeleitet!</p2>';
          }
          ?>    
          </form>
          </div>
          <!-- Beginn Footer -->
              <?php Include ('bk_footer.php'); ?>
          <!-- Ende Footer -->
          </div>
          </body>
          </html>
          Ich hoffe ich habe mein Anliegen einigermaßen verständlich formuliert, ich habs leider nicht so mit Erklärungen.

          Comment


          • #6
            Kann da jetzt kein onload erkennen
            Warum nutzt du dieses nun jetzt nicht?
            Funktion in den Body der die 3 Bilder holt
            Christian

            Comment


            • #7
              Ich habe es versucht, letzlich ist es doch egal ob ich in den Body Tag onload schreibe oder weiter unten die Funktion aufrufe, denn das Aufrufen der Funktion ShowPiconLoad funktioniert in beiden fällen. Nur, ich komme nicht an den wert von den Inputfeld "bpfad1", "bpfad2", "bpfad3"

              Bei
              Code:
               function ShowPiconLoad()
               {
                var str = document.getElementById('bpfad1').value;
                alert(str);
               }
               </script>
              (Ja ich habe nachträglich den Input Tag noch eine ID verpasst mit dem selben namen)
              macht das Script leider nichts.

              Mein Problem ist halt nicht das die Funktion nicht aufgerufen wird, sondern das ich nicht an den wert der Inputfelder komme.

              Comment


              • #8
                letzlich ist es doch egal ob ich in den Body Tag onload schreibe oder weiter unten die Funktion aufrufe
                Na, wenn du meinst.
                Warum könnte es diese Funktionalität geben?
                Warum probierst du es nicht wengistens
                Christian

                Comment


                • #9
                  Ne, ich vermute es nur, sicher bin ich mir nicht.Ich habe es jetzt auch mal versucht. und zwar:
                  Code:
                  <body onload="loadpics()">

                  Und:
                  Code:
                  function loadpics()
                      {
                          var word = document.getElementById("bpfad1").value;
                          alert(word);
                      }    
                     
                  </script>
                  spuckt nur leider nichts aus.
                  Zuletzt editiert von HarGrove; 09.12.2017, 17:34. Reason: kopierfehler

                  Comment


                  • #10
                    Wie sieht die Zeile mit der ID
                    bpfad1

                    aus?

                    Wird der Inhalt nach dem laden im Inputfeld angezeigt?
                    Kriegst du mit
                    document.getElementById("bpfad1")

                    das Objekt?

                    Ist der GENERIERTE Quelltext im Browser ok?
                    Christian

                    Comment


                    • #11
                      Also der Inhalt wird im Inputfeld angezeigt, ich bekomme jetzt auch das Objekt. Mittlerweile funktioniert es so halbwegs. Ich bekomme alle 3 Pfade aus den 3 Textfeldern. Wenn ich mir die Pfade mit alert ausgeben lasse, dann funktioniert das ganze wunderbar. Aber wenn ich das alert rausnehme dann funktioniert es wieder nicht. warscheinlich wegen der Verzögerung die ich mit dem wegklicken des alert habe.

                      Comment


                      • #12
                        Versuch mal für alles Jquery zu nutzen

                        https://jquery.com/

                        Dort das ganze im

                        http://learn.jquery.com/using-jquery...ocument-ready/

                        Auch das ganz Ajax-Geraffel ist einfacher
                        Christian

                        Comment


                        • #13
                          Ja ich werde mich da ein wenig einlesen. Irgendwie will ich es ja doch verstehen.

                          Comment

                          Working...
                          X