Bewertung ohne Browser-Reload speichern?
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
beschreibung
bewertung
code
datei
einfaches beispiel
eintrag
entsprechenden info
ergebnis
folgende form
folgendes schreiben
hintergrund
liste
post
punkt
schieben
span
speichern
tag
target
tip
- 
    
    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
 
 
- 
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden! lima-city: Gratis werbefreier Webspace für deine eigene Homepage 
- 
    
    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):
 Und als HTML kann sowas so aussehen:#deineVoteId a<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:
 Oder, wenn du mehrere Votebalken hast:<script type="text/javascript"> voteImHintergrund('deineVoteId'); </script><script type="text/javascript"> voteImHintergrund('deineErsteVoteId'); voteImHintergrund('deineZweiteVoteId'); voteImHintergrund('deineDritteVoteId'); </script>
 Wie gesehen relativ simpel…
 
 Mit freundlichen Grüßen
- 
    
    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ü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ü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ü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 ?
 
- 
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden! lima-city: Gratis werbefreier Webspace für deine eigene Homepage 
