Homepage selbermachen 7.851 Themen, 35.616 Beiträge

JavaScript-Problem: Wert von einer Variable nicht veränderbar

Lönie / 7 Antworten / Flachansicht Nickles

Hallo Leute, ich soll für Informatik ein Projekt vorstellen, und ich habe mir eine Art Eignungstest vorgestellt. Die Werte werden in diversen input type="radio" und select-Feldern eingegeben, die dann von der Funktion Kanal() ausgewertet werden.

Ich hatte mir das so gedacht, dass man einen bestimmten Punkt anklickt, worauf die Variable ein paar Punkte zugerechnet bzw. abgezogen bekommt. Der AM ENDE feststehende Wert soll als Grundlage für die Ausgabe dienen. Hier die Funktion:

"function Kanal()
{
var Punktzahl = 0 ; <- die Variable mit Anfangswert


if(document.Test.Geschlecht[0].checked==true) ; <- für die Antwort gibt's Punkte
{Punktzahl=Punktzahl+2} ;
if(document.Test.Geschlecht[1].checked==true) ; <- für diese allerdings nicht
{Punktzahl=Punktzahl-2} ;

if(Punktzahl<0)
{Ausgabe="Sie sind ungeeignet"} <- Auswertung u. Ausgabe

document.Test.Auswertung.value=Ausgabe ;
}"

Punktzahl wird allerdings zu keiner Zeit verändert, denn

"if(Punktzahl==0)
{Ausgabe="Sie sind ungeeignet"}"

funktioniert.
Wer kann mir helfen?

bei Antwort benachrichtigen
Lönie xafford „Wie sieht denn dein Formular aus? In welchem Browser testest Du das? Nimm mal...“
Optionen

Holy Moly O.O
Browser ist Firefox, V.3.0

Nach deiner Methode müsste ich also für jeden einggebbaren Wert eine Variable definieren..
Was ziemlich viel Arbeit wäre (s. unten).
Nur funktioniert dein Script, und meins nicht.
Also an die Arbeit.


Das (Ursprungs-)Script:

<html>
<head>
<title>Eignungstest - Seite 1</title>
<script language="JavaScript">
function Kanal()
{
var Punktzahl = 0 ;

if(document.Test.FeldAlter.value<80) ;
if(document.Test.FeldAlter.value<50) ;
if(document.Test.FeldAlter.value<20) ;
{Punktzahl=Punktzahl+0} ;
else {Punktzahl=Punktzahl+2} ;
else {Punktzahl=Punktzahl-2} ;
else {Punktzahl=Punktzahl-4} ;


if(document.Test.Geschlecht[0].checked==true) ;
{Punktzahl=Punktzahl+2} ;
if(document.Test.Geschlecht[1].checked==true) ;
{Punktzahl=Punktzahl-2} ;

if(document.Test.Beziehung.selectedIndex==0) ;
{Punktzahl=Punktzahl+2} ;
if(document.Test.Beziehung.selectedIndex==1) ;
{Punktzahl=Punktzahl+1} ;
if(document.Test.Beziehung.selectedIndex==2) ;
{Punktzahl=Punktzahl+0} ;
if(document.Test.Beziehung.selectedIndex==3) ;
{Punktzahl=Punktzahl-4} ;
if(document.Test.Beziehung.selectedIndex==4) ;
{Punktzahl=Punktzahl-2} ;

if(document.Test.BereichBeruf.selectedIndex==0) ;
{Punktzahl=Punktzahl+4} ;
if(document.Test.BereichBeruf.selectedIndex==1) ;
{Punktzahl=Punktzahl+2) ;
if(document.Test.BereichBeruf.selectedIndex==2) ;
{Punktzahl=Punktzahl-2} ;
if(document.Test.BereichBeruf.selectedIndex==3) ;
{Punktzahl=Punktzahl+0} ;
if(document.Test.BereichBeruf.selectedIndex==4) ;
{Punktzahl=Punktzahl-4} ;

if(document.Test.Hund.selectedIndex==0) ;
{Punktzahl=Punktzahl+0} ;
if(document.Test.Hund.selectedIndex==1) ;
{Punktzahl=Punktzahl+2} ;
if(document.Test.Hund.selectedIndex==2) ;
{Punktzahl=Punktzahl-4} ;
if(document.Test.Hund.selectedIndex==3) ;
{Punktzahl=Punktzahl-2} ;
if(document.Test.Hund.selectedIndex==4) ;
{Punktzahl=Punktzahl+4} ;

if(document.Test.TausendEuro.selectedIndex==0) ;
{Punktzahl=Punktzahl-2} ;
if(document.Test.TausendEuro.selectedIndex==1) ;
{Punktzahl=Punktzahl-4} ;
if(document.Test.TausendEuro.selectedIndex==2) ;
{Punktzahl=Punktzahl+2} ;
if(document.Test.TausendEuro.selectedIndex==3) ;
{Punktzahl=Punktzahl+4} ;
if(document.Test.TausendEuro.selectedIndex==4) ;
{Punktzahl=Punktzahl+0} ;

if(document.Test.Klo.selectedIndex==0) ;
{Punktzahl=Punktzahl+2} ;
if(document.Test.Klo.selectedIndex==1) ;
{Punktzahl=Punktzahl+0} ;

if(Punktzahl<0) ;
{Ausgabe="Dummes Kind!"} ;

document.Test.Auswertung.value=Ausgabe ;
}
</script>
</head>

-----------------------------------------------

Das da unten ist das gesamte Formular..

<body>
<form name="Test">
Auf dieser Seite wird ihnen für den <a name="oben">Anfang</a> erst wenig abverlangt.
<br>
Bitte geben sie in dieses Feld ihr tatsächliches Alter in Jahren an:
<p>
<input type="text" name="FeldAlter" size="3">
<p>
Sind sie:
<p>
<input type="radio" name="Geschlecht" value="Nr1"> &nbsp Männlich
<br>
<input type="radio" name="Geschlecht" value="Nr2"> &nbsp Weiblich
<p>
Sind sie...
<p>
<select name="Beziehung">
<option value="Nr1"> Verheiratet
<option value="Nr2"> verlobt
<option value="Nr3"> ledig
<option value="Nr4"> homosexuell
<option value="Nr5"> allein
</select>
<p>
In welchem Bereich übten sie früher ihren Beruf aus?
<p>
<select name="BereichBeruf">
<option value="Nr1"> Technik
<option value="Nr2"> Soziales
<option value="Nr3"> Beamtenwesen
<option value="Nr4"> Naturwissenschaften
<option value="Nr5"> arbeitslos
</select>
<p>
So, diesen langweiligen, aber notwendigen Abschnitt hätten wir hinter uns. Kommen wir nun zu
<b>Sektion 1</b>: Persönliches!
<p>
FRAGE 1
<br>
Sie fahren Fahrrad auf einer einsamen Straße. Sie sehen einen armen Hund am Straßenrand liegen.
<br>
Was tun Sie?
<p>
Ich... &nbsp
<select name="Hund">
<option value="Nr1"> fahre vorbei und tue nichts
<option value="Nr2"> bleibe stehen und habe Mitleid
<option value="Nr3"> überfahre ihn
<option value="Nr4"> führe dem Hund ein Tänzchen vor
<option value="Nr5"> ziehe mich nackt aus, beschmiere mich mit Senf und warte
</select>
<p>
FRAGE 2
<br>
Sie erhalten überraschenderweise 1000 €. Was tun sie damit?
<p>
Ich... &nbsp
<select name="TausendEuro">
<option value="Nr1"> tue das Geld in meine Spardose / auf mein Konto / unter die Matratze
<option value="Nr2"> verprasse alles an einem einzigen Abend
<option value="Nr3"> erfülle mir damit einen lang gehegten Traum
<option value="Nr4"> verbrenne die Scheine, weil ich Konsum und Kapitalismus abgrundtief verabscheue
<option value="Nr5"> spende sie eine gemeinnützigen Organisation
</select>
<p>
FRAGE 3
<br>
Ihr Klo ist verstopft. Sie sind einarmig und blind. Wie gehen Sie vor?
<p>
Ich... &nbsp
<select name="Klo">
<option value="Nr1"> will einen Klempner rufen, finde die Nummer aber nicht
<option value="Nr2"> habe die Nummer, finde aber das Telefon nicht
<option value="Nr3"> versuche, es selbst zu reparieren, finde aber das Klo nicht
<option value="Nr4"> folge dem Gestank und löse das Problem mit einer Handgranate
<option value="Nr5"> folge dem Gestank, benutze den VAKUUM-FLEX 3000 und muss daraufhin 2 Tage später von der Feuerwehr von dem Spülbecken befreit werden
</select>
<p>
Das haben sie bereits sehr gut gelöst! Kommen wir nun zu <b>Sektion 2</b>: Dem Kanal-Quiz!
<p>
FRAGE 1
<br>
Ein Kanaldeckel mit der Lötung "2X-3f15" darf nur wie geöffnet werden?
<p>
<input type="radio" name="Quiz1" value="Nr1"> &nbsp Man benutzt seine Fingernägel
<br>
<input type="radio" name="Quiz1" value="Nr2"> &nbsp Mit einer Brechstange der Kennung "22"
<br>
<input type="radio" name="Quiz1" value="Nr3"> &nbsp Mit der obigen Brechstange in Kombination eines Lötschlüssels der Kennung "LötLord"
<br>
<input type="radio" name="Quiz1" value="Nr4"> &nbsp Man ruft Buddha zu Hilfe und betet um geistige Unterstützung
<p>
FRAGE 2
<br>
Wie entnimmt man korrekt eine Kotprobe?
<p>
<input type="radio" name="Quiz2" value="Nr1"> &nbsp Man steckt sich den Finger dahin wo die Sonne nie scheint und riecht
<br>

<input type="radio" name="Quiz2" value="Nr2"> &nbsp Man destilliert 256 Gramm Schweine-Exkrement bei 449,28 °C im Backofen bei Mitternacht
<br>
<input type="radio" name="Quiz2" value="Nr3"> &nbsp Man untersucht den isolierten Feces auf Einschlüsse, Klarheit der Farbe, Geschmack und Geruch
<br>
<input type="radio" name="Quiz2" value="Nr4"> &nbsp Man badet in der Kläranlage
<p>
FRAGE 3
<br>
Mit welchem Gerät wird Kot der Dichte von 2,3 g/cm³ und einem Schmelzpunkt von 78°C entfernt?
<p>
<input type="radio" name="Quiz3" value="Nr1"> &nbsp Mit Klopapier
<br>
<input type="radio" name="Quiz3" value="Nr1"> &nbsp Mit Hammer und Meißel
<br>
<input type="radio" name="Quiz3" value="Nr1"> &nbsp Mit einer Vakuumpumpe der Kennung "56-B"
<br>
<input type="radio" name="Quiz3" value="Nr1"> &nbsp Mit einem Tintenkiller von "Pelikan"
der Marke "Super Pirat"
<p>
HERZLICHEN GLÜCKWUNSCH!!!
<br>
Sie haben nun den gesamten Test bearbeitet!
<br>
Klicken Sie nun bitte auf den unteren Knopf, um ihre Bewertung zu lesen:
<p>
<input type="button" value="Klick mich bitte in die Mitte" onclick="Kanal()">
<p>
<p>
<p>
<input type="text" name="Auswertung" size="100">
<p>
<a href=#oben>nach oben</a>
<br>
<a href="SeiteAnfang.html">Zur Startseite</a>
</form>
</body>

bei Antwort benachrichtigen