![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Elite
![]() |
![]() 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... ![]() ![]() 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>
____________________________________
Der Computer ist die Lösung vieler Probleme, die wir ohne Computer gar nicht hätten. Klaus-Peter Schreiner (*1930) deutscher Satiriker und Kabarettautor |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
![]() 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 |
![]() |
![]() |
![]() |
#3 |
Elite
![]() |
![]() hmm, hat leider nichts geändert!
____________________________________
Der Computer ist die Lösung vieler Probleme, die wir ohne Computer gar nicht hätten. Klaus-Peter Schreiner (*1930) deutscher Satiriker und Kabarettautor |
![]() |
![]() |
![]() |
#4 |
Elite
![]() |
![]() 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;
____________________________________
Der Computer ist die Lösung vieler Probleme, die wir ohne Computer gar nicht hätten. Klaus-Peter Schreiner (*1930) deutscher Satiriker und Kabarettautor |
![]() |
![]() |
![]() |
#5 |
Inventar
![]() Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343
|
![]() 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.
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret." Then he pulled the trigger of his BFG9000. |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|