Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Brauche Hilfe bei etwas ungewöhnlicher Komponente

Diskussion: Brauche Hilfe bei etwas ungewöhnlicher Komponente im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hi, sry für den Titel, aber mir ist nix gutes eingefallen - ihr werdet evtl sehn warum ^^ Also ...

Antwort
Alt 20.07.09, 18:35   #1 (permalink)
Senior Member
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard Brauche Hilfe bei etwas ungewöhnlicher Komponente

Anzeige

Hi,

sry für den Titel, aber mir ist nix gutes eingefallen - ihr werdet evtl sehn warum ^^

Also ich hab folgendes Problem: Ich arbeite gerade an einer kleinen Plattform um etwas zu bewerten - was ist eigentlich egal für das Problem. Ich arbeite mit Struts2 und ein "Rating" entspricht einem Wert zwischen 0 (inkl) und einer Zahl > 0 (inkl).
Ich hätte das ganze gerne so, dass auf der Website soviele halbtransparente Sterne angezeigt werden wie das Maximum der Rating Wertes ist (klar oder?). Wenn ich einen der Sterne drücke sollen bis dort hin "aufgefüllt" werden, also das Image getauscht werden.

Bisher habe ich für jedes Bewertungskriterium folgenden HTML Code (aus JSP generiert):

Code:
<div class="criterionElement">
	<table>
		<tr>
			<td style="width: 250px;">
				<h3>Name of Criterion</h3>
			</td>
			<td>
				&nbsp;&nbsp;&nbsp;&nbsp;
			</td>
			<td>
					<button name="1_0" class="rating-icon-empty"></button>
					<button name="1_1" class="rating-icon-empty"></button>	
					<button name="1_2" class="rating-icon-empty"></button>	
					<button name="1_3" class="rating-icon-empty"></button>	
					<button name="1_4" class="rating-icon-empty"></button>	
					<button name="1_5" class="rating-icon-empty"></button>	
			</td>
		</tr>
	</table>
</div>
"1_0" steht z.B für "Kriterium 1, Wert 1".

So nun zu meinen Fragen:

1) Wenn ich auf den Submit Button klicke kommen die Parameter 1_* nicht in der Action an. Kann man den button-Tag nicht für sowas verwenden?

2) Wie mach ich das mit dem auffüllen? Ich dachte da an Java Script. Man musste bein einem Klick die class jedes button ändern dessen Namen mit "1_" anfängt und als folgende Zahl eine Zahl kleiner der des gedrückten Buttons hat.

Da ich mit JS _noch nie_ was zu tun hatte bin ich da komplett hilflos. Das ganze ist ein Uni Projekt und muss bis Mittwoch fertig sein.

Any help is _highly_ appreciated!!!

cu
serow
Serow ist offline   Mit Zitat antworten
Alt 20.07.09, 22:15   #2 (permalink)
Member of Honour
 
Registriert seit: 06.10.01
mido Leistung: Facit NTK
Likes: 1
Standard

Hallo Serow,

da ich zufällig in absehbarer Zeit ähnliches realisieren muss, habe ich mal meine JavaScript-Kenntnisse aufgefrischt - es geht garantiert schöner. Zu einfach möchte ich es Dir allerdings auch nicht machen, deshalb bekommst du hier nur einen möglichen Ansatz.

Code:
<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>blub</title>
<script type="text/javascript">
/* <![CDATA[ */
  var counter = 0;
  function rate(obj) {
    var id = parseInt(obj.id.substr(1));
    if (id >= counter-1) {
      for (var i=1;i<=id;i++) document.getElementById("r"+i).value = "*";
      counter = id;
    }
  }

  function unrate(obj) {
    var id = parseInt(obj.id.substr(1));
    for (var i=1;i<=id;i++) document.getElementById("r"+i).value = i;
    counter = 0;
  }

  function rated() {
    alert(counter);
    /** schalalalalaaa **/
  }
/* ]]> */
</script>
</head>
<body>
  <input type="button" id="r1" onclick="rated()" onmouseover="rate(this)" onmouseout="unrate(this)" value="1" />
  <input type="button" id="r2" onclick="rated()" onmouseover="rate(this)" onmouseout="unrate(this)" value="2" />
  <input type="button" id="r3" onclick="rated()" onmouseover="rate(this)" onmouseout="unrate(this)" value="3" />
  <input type="button" id="r4" onclick="rated()" onmouseover="rate(this)" onmouseout="unrate(this)" value="4" />
  <input type="button" id="r5" onclick="rated()" onmouseover="rate(this)" onmouseout="unrate(this)" value="5" />
</body>
</html>
Du schriebst unter 1), dass du Probleme damit hast, die Werte nach einem Submit auszulesen. Für dich relevant sind zwei HTTP-Request-Methoden über welche die Informationen übermittelt werden können; GET und POST genannt. GET übermittelt den Spaß angehängt an die URI, POST über einen dafür vorgesehenen Bereich im HTTP-Header. Nun hast du mehrere Möglichkeiten, den HTTP-Request auszulösen und die Daten zu übertragen. Dies geht zum Beispiel über einen herkömmlichen Submit (z. B. über JavaScript oder als Submit-Button (siehe auch HTML-Formulare)) oder über Ajax (dann könntest du dir z. B. den <form>-Tag auch sparen und an der Stelle des Kommentars im Code ansetzen). Ich habe keine Ahnung welche Möglichkeiten Struts genau bietet, da ich wenig mit Java zutun habe. Mit einem grundlegenden Verständnis, wie die Daten übermittelt werden, sollte es dir allerdings leichter fallen, in Erfahrung zu bringen, wie du das mit Struts umsetzt (Stichworte: GET / POST). Wenn du die Daten über Post überträgst, könntest du mit einem hidden-Feld arbeiten, welchem in der rated-Funktion der aktuelle Wert zugewiesen wird.

Wie du das ganze mit Bildern machst, findest du schnell selbst heraus (wenn du ein Bild für eine Bewertung von 0 haben möchtest, musst du dir die for-Schleifen überarbeiten - sofern du für 0 Sterne keine 1 übergeben haben möchtest).


Gruß
little
mido ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 21.07.09, 06:23   #3 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard

Hi little_Newbie,

Zitat:
Du schriebst unter 1), dass du Probleme damit hast, die Werte nach einem Submit auszulesen. Für dich relevant sind zwei HTTP-Request-Methoden über welche die Informationen übermittelt werden können; GET und POST genannt. GET übermittelt den Spaß angehängt an die URI, POST über einen dafür vorgesehenen Bereich im HTTP-Header. Nun hast du mehrere Möglichkeiten, den HTTP-Request auszulösen und die Daten zu übertragen. Dies geht zum Beispiel über einen herkömmlichen Submit (z. B. über JavaScript oder als Submit-Button (siehe auch HTML-Formulare)) oder über Ajax (dann könntest du dir z. B. den <form>-Tag auch sparen und an der Stelle des Kommentars im Code ansetzen). Ich habe keine Ahnung welche Möglichkeiten Struts genau bietet, da ich wenig mit Java zutun habe. Mit einem grundlegenden Verständnis, wie die Daten übermittelt werden, sollte es dir allerdings leichter fallen, in Erfahrung zu bringen, wie du das mit Struts umsetzt (Stichworte: GET / POST).
Jo, ich hab mittlerweile rausgefunden wie ich an das HttpRequest Objekt rankomme. Da steht alles drin.

Zitat:
Wenn du die Daten über Post überträgst, könntest du mit einem hidden-Feld arbeiten, welchem in der rated-Funktion der aktuelle Wert zugewiesen wird.
Okay also ein Button stellt selbst kein Value dar. Gut dann eben mit Hidden Feldern.

Zitat:
Wie du das ganze mit Bildern machst, findest du schnell selbst heraus (wenn du ein Bild für eine Bewertung von 0 haben möchtest, musst du dir die for-Schleifen überarbeiten - sofern du für 0 Sterne keine 1 übergeben haben möchtest).
Okay, ich sehs ja schon teilweise in deinem Code. Ich denk ich kriegs hin ab hier. Ich hätte mich nur nie und nimmer jetzt auch noch mit JS beschäftigt ^^ Hab in den letzten 2 Wochen Struts2 und Hibernate "gelernt" - die Funktion hätte ich weggelassen ohne deine JS Vorlage hier

cu
serow
Serow ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Brauche Hilfe bei etwas ungewöhnlicher Komponente
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
brauche SQL Hilfe Serow Code Kitchen 4 18.06.07 09:46
Hilfe mit meinem Sytem stimmt etwas nicht! schweiz Virenschutz · Tools & Aggressive Software 19 04.04.05 23:49
Brauche Hilfe popcorn (In)security allgemein 6 07.01.05 17:21
suche Compi und etwas Hilfe ICHdasICH Code Kitchen 2 31.12.04 00:48
Ich brauche Hilfe Manies Windows 25 28.10.03 20:00


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61