Jquery, Einfluss auf Html Elemente

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

  • Jquery, Einfluss auf Html Elemente

    Hi, ich mache gerade erste gehversuche mit Jquery.
    Ich versuche mich gerade daran meinen Mitgliedern das Userprofil
    live anpassen lassen zu können.

    Mal angefangen mit einem Hintergrundbild.
    Der User klickt auf ein von mir vorgegenenes Bild und es wird in den
    Kontent geladen, sprich der Hintergrund soll geändert werden.
    Das bekomme ich auch hin soweit.

    Nun meine Frage:

    Ist es möglich die soeben übertragenen Werte nach Klick auf das Element
    in ein hidden field zu übergeben, so dass ich dann die möglichkeit habe,
    nach dem absenden des html Formulars die Werte über php in eine
    Datenbank schreiben kann? Ich möchte diese jetzt nicht wirklich jedesmal live
    nach einem Klick in die Datenbank schreiben, sondern erst dann, wenn
    der User fertig ist mit seinem Design.

    Soweit bin ich jetzt erstmal.

    Code:
    $("#chgshortcont").click(function(){
    $('div#shortcont').css('background', ' url(images/profilpage/user_bg.jpg')
    });
    Dann hab ich nochmal eine generelle Frage zu Funktionen in JQuery.
    Angenommen ich erstelle mir eine Datei voll mit Funktionen und sagen wir mal die ist 300kb groß.
    Wenn ich diese Datei einbinde, werden die tatsächlichen 300kb gleich mitgeladen, oder erst dann, wenn eine Funktion aufgerufen wird?
    Aber das ist nur nebensächlich. Das obere ist mir im Moment wichtiger...

    Vielen dank für eure Antworten

  • #2
    Ist es möglich die soeben übertragenen Werte nach Klick auf das Element in ein hidden field zu übergeben
    Ja. K.A wie das mit jQuery läuft, aber das sollte auch klappen:
    PHP-Code:
    document.formularname.name_hidden_feld.value 'images/profilpage/user_bg.jpg'
    Wenn ich diese Datei einbinde, werden die tatsächlichen 300kb gleich mitgeladen, oder erst dann, wenn eine Funktion aufgerufen wird?
    Die werden direkt mitgeladen.

    Gruß
    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      mh, das scheint nicht so einfach in verbindung mit jquery zu funktionieren.
      Dein Beispiel funkt leider ned.
      Danke für die Info..

      bin gerade hier in etwa:

      Code:
      $("#chgshortcont").click(function(){
      $('div#shortcont').css('background', ' url(images/profilpage/user_bg.jpg')
      
      $("#test").val("moep");
      
      
      });
      nun ist es so, das wenn ich ein hidden field benutze und den Wert eintragen lasse, passiert nix. Es wird nur der vordeginierte Wert übergeben.
      Wenn ich allerdings ein input type nehme was nicht hidden ist, wird der
      Wert übertragen. *amkopfkratz*. Was ist da falsch bzw anders als ein hidden field, mit der Ausnahme das es eben nicht angezeigt wird.

      Kommentar


      • #4
        Zitat von Marcus-24-D Beitrag anzeigen
        mh, das scheint nicht so einfach in verbindung mit jquery zu funktionieren.
        Dein Beispiel funkt leider ned.
        Was sagt denn die Doku von jQuery dazu? Imho kannst du auch ohne Probleme Felder ohne jQuery füllen.
        Zitat von Marcus-24-D Beitrag anzeigen
        Was ist da falsch bzw anders als ein hidden field, mit der Ausnahme das es eben nicht angezeigt wird.
        Eigentlich keines. Es sei denn, du hast es auf readonly oder disabled gesetzt.

        Gruß
        Peter

        PS: Tippe auf einen Fehler, der so dumm ist, dass man ihn auf Anhieb nicht sieht.
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          ja, hast recht.. es war mal wieder so ein fehler der so grottig schlecht ist das er dadurch gleich noch viel grottiger wird

          Ich Idiot hab den zu ändernden div und dem hidden field die selbe id gegeben.
          Das war das Problem. Nu gehts

          Danke der anteilnahme

          Schöne Grüße

          Kommentar


          • #6
            Kleiner Tipp: arbeite mit dem HTML-Validator, dann findest du solche Fehler ratzfatz. Und der erzeugte Code sollte ehe immer valide sein.

            Gruß
            Peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              sehr nice..Danke für den Tipp.

              Aber eine Frage nochmal eben am Rande:

              Das ganze meines Beispiels bezieht sich ja nun auf div Tags.
              Wie sieht denn das mit Tabellen aus?
              Ich versuche das gerade und da haperts ma wieder.

              Das ganze versuche ich auf ein <td> anzuwenden.
              table geht allerdings auch nicht.

              $('td#shortcont').css('background', ' url(images/profilpage/black_river.jpg')

              edit: jetzt gehts mit table..und ich weiß ned warum *denk*

              $('table#shortcont').css('background', ' url(images/profilpage/black_river.jpg')
              Zuletzt geändert von Marcus-24-D; 26.03.2012, 23:18.

              Kommentar


              • #8
                Ich habe noch ein klitze kleines Problem:

                Code:
                $("#chguserbg").click(function(){
                
                $('table#userbg').css('background', ' url(images/profilpage/default.jpg')
                
                $("#userbg_c").val("default.jpg");
                
                });
                Das funktioniert nur dann, wenn im Inline Style background nicht definiert ist oder der inhalt nicht gefunden wurde.
                vermutlich muss das vorher gelöscht werden um beschreiben zu können, was für mich aber unlogisch ist.
                hab schon ettliche sachen mit attr, remove usw versucht.
                aber das bezieht sich alles auf das ganze style element.
                Ich brauche etwas, das ich den Hintergrund gezielt austauschen kann.
                Jemand noch eine Idee dazu?

                Kommentar


                • #9
                  Wieso funktioniert das ganze im FF aber im IE oder chrome nicht?

                  Kommentar


                  • #10
                    Ohne groß inhaltlich drüber nachgedacht zu haben: In dem zuletzt gezeigten Code sind etliche Tippfehler.

                    Kommentar


                    • #11
                      Optimierungen

                      Hi.
                      Hier nochmals ein paar Tipps zum Arbeiten mit jQuery und JavaScript.
                      • Seite jQuery 1.7 .click() durch .on() ersetzten.
                      • keine Anonyme Funktion nutzen sondern eine Ändern Funktion statt dessen schreiben.
                      • DOM Objekte in Variabeln speichern und mit diesen Arbeiten.


                      Liebe Grüße,
                      abs

                      Kommentar

                      Lädt...
                      X