tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
10
ZUGRIFFE
2345
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Tinoh Tinoh ist offline Mitglied
    Registriert seit
    Sep 2003
    Ort
    Peitz
    Beiträge
    15
    Hallo,

    ich versuche mich an ein Script, welches mir "sagen" soll das ich nicht alle Radiobuttons in einer Reihe anklicken darf, bzw. dann weiter machen soll wenn 5 verschiedene angeklickt sind, aber irgendwie will JavaScript mit meinen Value-Wertan aus dem Formular net rechnen. Hier mal ein Stück Quelltext dazu:
    Code :
    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
    
    <script language="JavaScript">
    <!--
    function checkform(form)
    {
      if(form.email.value.length<1)
      {
        alert("Bitte geben Sie Ihre Emailadresse ein.");
        return false;
      }
      x1=0;x2=0;x3=0;x4=0;x5=0;
     for(var i = 0; i < 16;i++)
     {
      if(form.fuenf[i].ckecked) x5=i+1;
     }
     for(var i=0; i<16;i++)
     {
      if(form.vier[i].ckecked) x4=i+1;
     }
     for(var i=0; i<16;i++)
     {
      if(form.drei[i].ckecked) x3=i+1;
     }
     for(var i=0; i<16;i++)
     {
      if(form.zwei[i].ckecked) x2=i+1;
     }
     for(var i=0; i<16;i++)
     {
      if(form.eins[i].ckecked) x1=i+1;
     }
     if((x1==0)||(x2==0)||(x3==0)||(x4==0)||(x5==0))
     {
        alert(x5);
             return false;
     
     }
     if((x1==x2)||(x2==x3)||(x3==x1)||(x4==x1)||(x5==x1)||(x3==x2)||(x4==x2)||(x5==x2)||(x4==x3)||(x3==x5)||(x5==x4))
     {
        alert ("Doppelte Wertung für einen Titel ist nicht zulässig!");
             return false;
     }
    }
     
    //-->
     
    </script>
    </head>
    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
    <div align="center"><a href="http://www.second-wave.de" target="_blank" onmouseover="window.status='Second-wave.de';return true;" onmouseout="window.status='Fertig';return true;"><img src="http://www.second-wave.de/images/werbebanner.gif" width="480" height="60" border="0" alt="Second-Wave.de"></a></div>
    <form action="voting.php" method="POST" name="hoererhits" onSubmit="return checkform(this)">
    <div align="center"><h1>Hörerhits</h1>vom 06.11.2005</div><br>
    <table border="0">
    <tr><th colspan="3">Neuvorstellungen</th></tr>
    <tr><td>Nummer</td><td><div align="center">Titel</div></td><td>Punkte(5,4,3,2,1)</td></tr>
    <tr><td>1.</td><td>DJ Ötzi - Gebt mir ein Zeichen</td><td><input type="Radio" name="fuenf" value="1"><input type="Radio" name="vier" value="1"><input type="Radio" name="drei" value="1"><input type="Radio" name="zwei" value="1"><input type="Radio" name="eins" value="1"></td></tr>
    Ich hoffe das reicht um mir zusagen woran es liegt dass, das Script nicht das tut was es soll.
     

  2. #2
    Avatar von con-f-use
    con-f-use con-f-use ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.263
    Wäre nett wenn du dir mal folgendes duchliest und in Zukunft danach handelst: http://www.tutorials.de/tutorials215...ml#post1123301

    Ich hab ehrlich gesagt die Lust verloren dir zu helfen, weil mir dein Quelltext zu unübersichtlich ist. Auch bei html ist Einrückung durchaus zu empfehlen und die Code-Boxen auch nicht zu verachten.

    Edit:
    Ein Mod hat anscheinend nachträglich deinen Code in Code-Boxen gepackt...
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


  3. #3
    Tinoh Tinoh ist offline Mitglied
    Registriert seit
    Sep 2003
    Ort
    Peitz
    Beiträge
    15
    Tja einen Versuch war es wert, mal wieder in einem Forum zufragen.
    Also muß ich doch dabei bleiben, mir meinen eigenen Kopf zuzerbrechen.
     

  4. #4
    Avatar von con-f-use
    con-f-use con-f-use ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.263
    Noe, du musst nur die Tab-Taste benutzen um deinen Code einzurueken und so uebersichtlich zu machen, dann helf ich dir gerne. Vielleicht machen's andere auch schon so...
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


  5. #5
    Tinoh Tinoh ist offline Mitglied
    Registriert seit
    Sep 2003
    Ort
    Peitz
    Beiträge
    15
    Aha, na dann werde ich es nochmal versuchen, denn ich sehe absolut den Fehler nicht.

    Code :
    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
    
    <script language="JavaScript">
    <!--
    function checkform(form)
    {
      if(form.email.value.length<1)
      {
        alert("Bitte geben Sie Ihre Emailadresse ein.");
        return false;
      }
      x1=0;x2=0;x3=0;x4=0;x5=0;
          for(var i = 0; i < 16;i++)
         {
           if(form.fuenf[i].ckecked) x5=i+1;
         }
         for(var i=0; i<16;i++)
         {
                if(form.vier[i].ckecked) x4=i+1;
         }
           for(var i=0; i<16;i++)
           {
             if(form.drei[i].ckecked) x3=i+1;
           }
           for(var i=0; i<16;i++)
          {
            if(form.zwei[i].ckecked) x2=i+1;
          }
          for(var i=0; i<16;i++)
          {
            if(form.eins[i].ckecked) x1=i+1;
         }
         if((x1==0)||(x2==0)||(x3==0)||(x4==0)||(x5==0))
        {
        alert("Bitte Punkte vergeben.");
                    return false;
     
        }
         if((x1==x2)||(x2==x3)||(x3==x1)||(x4==x1)||(x5==x1)||(x3==x2)||(x4==x2)||(x5==x2)||  (x4==x3)||(x3==x5  )||(x5==x4))
        { 
        alert ("Doppelte Wertung für einen Titel ist nicht zulässig!");
                    return false;
        }
    }
     
    //-->
     
    </script>
    </head>
    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
    <form action="voting.php" method="POST" name="hoererhits" onSubmit="return checkform(this)">
    <div align="center"><h1>Hörerhits</h1>vom 06.11.2005</div><br>
    <table border="0">
    <tr><th colspan="3">Neuvorstellungen</th></tr>
    <tr><td>Nummer</td><td><div align="center">Titel</div></td><td>Punkte(5,4,3,2,1)</td></tr>
    <tr><td>1.</td>
    <td>DJ Ötzi - Gebt mir ein Zeichen</td><td><input type="Radio" name="fuenf" value="1">
    <input type="Radio" name="vier" value="1">
    <input type="Radio" name="drei" value="1">
    <input type="Radio" name="zwei" value="1">
    <input type="Radio" name="eins" value="1">
    </td></tr>
    ........
    Geändert von Tinoh (10.11.05 um 17:54 Uhr)
     

  6. #6
    Avatar von con-f-use
    con-f-use con-f-use ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.263
    Hab's mir jetzt mal angeschaut. Ich kann auch keinen offensichtlichen Fehler entdecken. Was sein könnte ist, dass manche der Radios gar nicht exitieren, oder, dass du einfach einen Denkfehler gemacht hast. Was genau willst du denn mit diesen Script tun und wofür ist es gedacht?

    Das mit dem Abfragen ob die radios exitieren würde ich ja so machen (hab dein gesammtes Script gleich verbessert, weil du dich doch ein wenig wiederholt hast):
    HTML-Code:
    <html><head><title>Untitled</title>
     
     <script type="text/javascript"><!--
     function checkform(form) {
     	if(form.email.value.length<1) {
     		alert("Bitte geben Sie Ihre Emailadresse ein.");
     		return false;
     	}
     	
     	var x1=x2=x3=x4=x5=0,
     		namen = ['eins','zwei','drei','vier','fuenf'];
     
     	for(i in namen) {
     		for(j=0; j<16; j++)
     			if (obj = eval('form.'+ namen[i] +'['+ j +']'))
     				if (obj.checked)
     				    eval( 'x'+ (i+1) +'='+ (j+1) );
     		if( eval('x'+ (i+1) == 0 ) ) {
     			alert(x5);
     			return false;
     		}
     	}
     	
     	for(i in namen)
     		for(j in namen)
     			if(i==j)
     				continue;
     			else if (eval('x'+ (i+1)) == eval('x'+ (j+1)) ) {
     			 alert ("Doppelte Wertung für einen Titel ist nicht zulässig!");
     				return false;
     			}
     }
     //-->
     </script>
     
     </head><body>
     
     <form action="voting.php" method="POST" name="hoererhits" onSubmit="return checkform(this)">
     	<input type="text" name="email" value="bla" /><br />
     	1:<input type="Radio" name="fuenf" value="1"><br />
     	2:<input type="Radio" name="vier" value="1"><br />
     	3:<input type="Radio" name="drei" value="1"><br />
     	4:<input type="Radio" name="zwei" value="1"><br />
     	5:<input type="Radio" name="eins" value="1"><br /><br />
     	
     	1:<input type="Radio" name="fuenf" value="1"><br />
     	2:<input type="Radio" name="vier" value="1"><br />
     	3:<input type="Radio" name="drei" value="1"><br />
     	4:<input type="Radio" name="zwei" value="1"><br />
     	5:<input type="Radio" name="eins" value="1"><br />
     	<input type="submit" value="Ok!" />
     </form>
     
     </body></html>
    Bitte nimm dir ein Beispiel an diesem Code, was übersichtlichkeit angeht. Ich hab alles an HTML rausgenommen, was nicht direkt zum Problem beigetragen hat und habe mich bemüht, dass man schon aus dem Quelltext das Problem herauslesen kann.
    Geändert von con-f-use (10.11.05 um 18:36 Uhr)
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


  7. #7
    Tinoh Tinoh ist offline Mitglied
    Registriert seit
    Sep 2003
    Ort
    Peitz
    Beiträge
    15
    Danke, ich geb dir mal den Link, da kannst Du dir das ganze mal anschauen.
    http://www.second-wave.de/voting/voting.html

    Hmm, dann werd ich deinen Vorschlag ausprobieren.
     

  8. #8
    Tinoh Tinoh ist offline Mitglied
    Registriert seit
    Sep 2003
    Ort
    Peitz
    Beiträge
    15
    So ich habe jetzt mal deinen Vorschlag getestet den Du mir oben gepostet hast.
    Funktioniert auch soweit. Nur wenn ich jetzt keinen Radiobutton anklicke bekomme ich einen JavaScriptfehler. Und zwar sagt er dann das die Variable x01 nicht definiert ist.
     

  9. #9
    Avatar von con-f-use
    con-f-use con-f-use ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Oct 2004
    Ort
    München / Innsbruck
    Beiträge
    2.263
    Er sagt dir auch in welcher Zeile - versuch den Fehler selbst zu breinigen, es ist nur ein kleiner.

    Sieh das bitte nicht als schikane, aber du willst Hilfe von den Leuten in diesen Forum, also musst du's ihnen so leicht wie moeglich machen dir zu helfen. Dazu gehoert alles so uebersichtlich und intiutiv verstaendlich wie moeglich zu machen und eben auch kleiner Probleme selbst zu loesen.
    Geändert von con-f-use (10.11.05 um 23:22 Uhr)
     
    Wäre der Satz "Ich möchte auf meinem Fisch-und-Chips-Schild einen Bindestrich zwischen die Wörter Fisch und und und und und Chips machen" nicht deutlicher, wenn Anführungszeichen vor Fisch und zwischen Fisch und und und und und und und und und und und und und und und und und und und und und Chips und auch nach Chips wären?

    | Meine Homepage: Forschung, unethische | Meine Seite mit viel verlangten Javascrits |

    -----------

    Zufriedenstellende Beiträge bitte als erledigt markieren!


  10. #10
    Tinoh Tinoh ist offline Mitglied
    Registriert seit
    Sep 2003
    Ort
    Peitz
    Beiträge
    15
    Ok na dann werde ich mir das ganze ma morgen in Ruhe anschauen, weil heut ist es ja schon zu spät.
     

  11. #11
    Tinoh Tinoh ist offline Mitglied
    Registriert seit
    Sep 2003
    Ort
    Peitz
    Beiträge
    15
    Ha, wie blind muß man sein
    Ich habe den Fehler in meinem eigenen Script gefunden.
    Wenn ich natürlich ckecked anstatt checked schreiben, dann ist es schon klar das es nicht funktionieren kann, aber trotzdem DANKE.
     

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 09.06.10, 14:35
  2. Problem mit checked="checked"
    Von Nord-Süd-Richtung im Forum HTML & XHTML
    Antworten: 17
    Letzter Beitrag: 31.07.09, 17:44
  3. if radiobutton checked
    Von Brothers im Forum PHP
    Antworten: 2
    Letzter Beitrag: 12.06.09, 22:16
  4. is Radiobutton checked [IE]
    Von Headymaster im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 23.10.08, 17:28
  5. checked menuitem
    Von mashine-obf im Forum .NET Windows Forms
    Antworten: 4
    Letzter Beitrag: 13.10.05, 14:04