kostenloser Webspace werbefrei: lima-city


Bewertung ohne Browser-Reload speichern?

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    kataloge

    kataloge hat kostenlosen Webspace.

    Hallo

    Ich habe eine tag/liste">Liste mit Links zu Webseiten
    User sollen diese Links (Webseiten) bewerten können (1 bis 10 Punkte geben)

    das Speichern der Votes (und Re-Vote Sperre) ist nicht das Problem
    bzw. das mache ich serverseitig mit MySQL

    aber wie kann ich die Abgabe einer Bewertung speichern
    ohne dass die ganze Seite neu Laden muss ?

    ich habe gehört sowas soll mit jQuery funktionieren, aber wie ?

    ... Bei Klick auf Vote-Button (bzw. Vote-Link) diesen Vote speichern ohne Browser-Reload ?!?
    jemand einen Tipp wie ich das arn angehen soll ? ... hab noch keine Erfahrung mit jQuery

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. dafür brauchst du nicht unbedingt jQuery, da reicht auch schon das folgende JS:
    var voteImHintergrund = function(voteId){
        if(!voteId.nodeName){
            voteId = document.getElementById(voteId);
        }
        var ifr,
            a = voteId.getElementsByTagName('a'),
            i = a.length;
        if(!(ifr = document.getElementById('hintergrundfenster'))){
            ifr = document.createElement('iframe');
        }
        ifr.id = ifr.name = 'hintergrundfenster';
        document.body.appendChild(ifr);
        for(;i--;){
            a[i].target = 'hintergrundfenster';
        }
    };

    Das setzt allerdings vorraus, dass deine Votescripts eine Folgende Form haben (in CSS lässt sich das gut beschreiben):
    #deineVoteId a
    Und als HTML kann sowas so aussehen:
    <p id="deineVoteId">
      <a href="?v=1">1</a>
      […]
      <a href="?v=10">10</a>
    </p>

    Da ich dein HTMl nicht kenne kann ich da nur vermuten.
    Um das ganze jetzt in den Hintergrund zu schieben brauchst du nur noch am Ende der Seite folgendes schreiben:
    <script type="text/javascript">
    voteImHintergrund('deineVoteId');
    </script>
    Oder, wenn du mehrere Votebalken hast:
    <script type="text/javascript">
    voteImHintergrund('deineErsteVoteId');
    voteImHintergrund('deineZweiteVoteId');
    voteImHintergrund('deineDritteVoteId');
    </script>

    Wie gesehen relativ simpel…

    Mit freundlichen Grüßen
  4. Autor dieses Themas

    kataloge

    kataloge hat kostenlosen Webspace.

    hmm

    etwas abschreckend finde ich document.createElement('iframe');
    wer will schon iFrames ?!

    lieber wäre mir ein POST oder GET (zu einer PHP-Datei) um das Ergebnis zu speichern
    aber auch das bekomme ich nicht hin

    mal ohne die 10 Punkte, ganz einfaches Beispiel

    <div id="eintrag1">
       <p>Screenshot, Titel, Link und Beschreibung zum Eintrag 1 .... </p>
          <div class="vote" onClick="abstimmung();"> VOTE: 
          - <span class="plus">daf&uuml;r</span> -  <span class="infoplus"><?php echo $stimmen_plus; ?></span> 
          - <span class="minus">dagegen</span> -  <span class="infoplus"><?php echo $stimmen_minus; ?></span> 
          </div>
    </div>
    
    <div id="eintrag2">
       <p>Screenshot, Titel, Link und Beschreibung zum Eintrag 2 .... </p>
          <div class="vote" onClick="abstimmung();"> VOTE: 
          - <span class="plus">daf&uuml;r</span> -  <span class="infoplus"><?php echo $stimmen_plus; ?></span> 
          - <span class="minus">dagegen</span> -  <span class="infoplus"><?php echo $stimmen_minus; ?></span> 
          </div>
    </div>
    
    <div id="eintrag3">
       <p>Screenshot, Titel, Link und Beschreibung zum Eintrag 3 .... </p>
          <div class="vote" onClick="abstimmung();"> VOTE: 
          - <span class="plus">daf&uuml;r</span> -  <span class="infoplus"><?php echo $stimmen_plus; ?></span> 
          - <span class="minus">dagegen</span> -  <span class="infoplus"><?php echo $stimmen_minus; ?></span> 
          </div>
    </div>


    wie sieht dann JavaScript aus, um bei Klick auf ein "dafür" oder "dagegen" in einem Eintrag
    diese Werte an eine PHP-Datei (im Hintergrund) zu senden (egal ob POST oder GET)

    muss vielleicht das onClick jeweils in den <span> Tag rein ?
    und wie schreibe ich das Ergebnis dann in den entsprechenden Info-Span ? ... innerHTML ?
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!