![]() |
wo ist hund? (html,php,javascript...)
der folgende code dient dazu den inhalt einer mysql datenbank auszugeben (in tabellenform), weiters fügt er jeweils am ende jedes datensatzes einen radiobutton hinzu, welcher dazu dient einen datensatz auswählen und weiter zu bearbeiten (button)
nun wollte ich ein javascript einfügen welches überprüft ob wirklich ein radiobutton ausgewählt wurde, wenn nicht -> fehlermeldung... es funktioniert alles bis auf das javascript und ich weiss nicht mehr weiter... :confused: :confused: kann mir bitte wer helfen? <html> <head> <title>I 2</title> <script language="JavaScript" TYPE='text/javascript'> function chkFormular() { if(document.Formular.j2.checked == false) { alert("Sie sollten eine Auswahl treffen); return false; } else { return true; } } </script> </head> <body> <h1>Inhalt von "swuser"</h1> <form name="Formular" action='newedit.php' method='POST'> <? $link=mysql_connect('xxxx','',''); mysql_select_db('name'); $abfrage="SELECT * FROM name2;"; $ergebnis=mysql_query($abfrage) or die ("Fehlermeldung= ".mysql_error()); echo mysql_num_rows($ergebnis)." Datensätze "; // Ausgabe der Anzahl der Datensätze echo "<TABLE border='1' width='70%'>"; echo "<TR>\n"; for ($i=0;$i<mysql_num_fields($ergebnis);$i++) { echo "<TH>".mysql_field_name($ergebnis,$i)."</TH>\n"; }; echo "</TR>\n"; while ($zeile=mysql_fetch_row($ergebnis)) { echo "<TR align='center'>"; for ($i=0;$i<mysql_num_fields($ergebnis);$i++) { if(mysql_field_name($ergebnis,$i)=='ID') { $j=$zeile[$i]; } if($zeile[$i]== NULL) { echo "<TD> </TD>\n"; } else { echo "<TD>".$zeile[$i]."</TD>\n"; } } echo "<TD><input type=radio name='j2' value=$j ></TD>\n"; echo "</TR>\n"; }; echo "</TABLE>"; mysql_free_result($ergebnis); mysql_close($link); ?> </form> <INPUT TYPE='button' value='Editieren' ONCLICK='chkFormular()' > <font size="4">Startseite</font></p> </body> </html> |
Ein durchlauf beim html-validator ergab nur den Fehler
Line 22, column 11: <form name="Formular"> ^ Error: there is no attribute "NAME" for this element (in this HTML version) So weit ich weiß wird das aber von heutigen browsern trotzdem korrekt verwendet. Versuch einmal das ganze über document.forms[0].j2.checked anzusprechen. Vielleicht hilfts was. Jak |
hmm, hat leider nichts geändert!
|
aus der newsgroup erhielt ich folgenden lösungsvorschlag der auch funktioniert (juchuuu!)
Radiobuttons liegen als array vor(genauso wie checkboxen). Also musst du über die länge des Arrays loopen und nachsehe ob da was angeklickt wurde. ich mach das so: for(i=0;i<document.FORM_NAME.FORM_ELEMENT.length;+ +i){ if(document.FORM_NAME.FORM_ELEMENT[i].checked == true){ var typ = document.FORM_NAME.FORM_ELEMENT[i].value; } } if(!typ){ alert("Sie sollten eine Auswahl treffen"); return false; |
da du die variable "typ" nicht wirklich für etwas anderes zu verwenden scheinst, als um zu sehen, ob ein radiobutton aktiviert wurde, kannst du ihr genausogut anstatt des checked-wertes der aktivierten checkbox einfach gleich 1 zuweisen, sobald das der fall ist.
also anstatt var typ = document.FORM_NAME.FORM_ELEMENT[i].value; schreib doch einfach var typ = 1; kommt aufs selbe raus, spart aber quelltext. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 04:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag