Namensgenerator
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
atomkraft
aufrufen
ausgabe
button
code
dank
datenbank
einsetzen
fehler
funktion
generator
http
idee
machen
problem
setzen
sinn
special
url
vorschlag
-
Hallo!
Ich wollte einen Namensgenerator für meine Website basteln, doch die Vorschläge werden nicht angezeigt...
Kann mir jemand weiterhelfen?
<html> <head> <title>Anti-Atomkraft - Namensgenerator</title> </head> <body bgcolor=#101010 text=silver> <table bgcolor=black border> <thead><th><td colspan=3 align=center><b>Namensvorschläge</b></td></th></thead> <tbody><tr> <script language="JavaScript" type="text/javascript"> var zaehler=0; vorschlag(); function vorschlag() { var zahl1, zahl2, name1, name2; zaehler=zaehler+1; if (zaehler<4) { zahl1=9*math.random(); zahl1=math.round(zahl1); zahl2=9*math.random(); zahl2=math.round(zahl1); name1=new array(9); name1[0]="Fukushima"; name1[1]="Pseudo"; name1[2]="Atom"; name1[3]="Politik"; name1[4]="Internet"; name1[5]="Strahlen"; name1[6]="Demonstranten"; name1[7]="Protest"; name1[8]="AKW"; name1[9]="Krypton"; name2=new array(9); name2[0]="protestant"; name2[1]="fanatiker"; name2[2]="gegner"; name2[3]="feind"; name2[4]="interessent"; name2[5]="chatter"; name2[6]="teilnehmer"; name2[7]="rebell"; name2[8]="revolutionär"; name2[9]="mitglied"; window.document.writeln("<td>"+name1[zahl1]+name2[zahl2]+"</td>"); vorschlag(); } } </script> </tr></tbody></table> </body> </html>
Beitrag zuletzt geändert: 18.4.2011 16:16:58 von anti-atomkraft -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du musst Math.round() bzw. new Array() - jeweils mit großem Anfangsbuchstaben - schreiben, dann funktionierts!
Fallst du FireFox verwendest, kannst du dir das Add-On FireBug installieren, das zeigt dir automatisch Javascript-Fehler an.
Google's Chrome hat bereits eine Fehlerkonsole eingebaut.
Beides sehr hilfreich!
Beitrag zuletzt geändert: 17.4.2011 22:53:34 von markus-niederbrucker -
kleine Schönheitsfehler :
anstatt <thead><th><td colspan=3 align=center><b>Namensvorschläge</b></td></th></thead>
besser <thead> <td colspan=3 align=center><b>Namensvorschläge</b></td> </thead>
Wenn es 3 Elemente sind, erfolgt dadurch die Ausgabe der Überschrift wirklich zentriert. Wenn es mehr sind allerdings leider nicht, sondern ähnlich fehlerhaft wie beim Original.
Weil die Ausgabe des Ergebnisses innerhalb der Berechnung unnötig ist, würde ich diesen Bereich
window.document.writeln("<td>"+name1[zahl1]+name2[zahl2]+"</td>");
vorschlag();
}
}
so abändern
}
window.document.writeln("<td>"+name1[zahl1]+name2[zahl2]+"</td>");
vorschlag();
}
Die Zufallszahlenberechnung ist nicht optimal, denn es kommen öfter mal Doppel vor.
Beitrag zuletzt geändert: 18.4.2011 0:09:10 von pflanzenfreund -
Daaanke!
Mit den Großbuchstaben funzt es,
die Schönheitsfehler sind korrigiert und wegen der doppelten Namen lasse ich mir noch etwas einfallen... :)
@pflanzenfreund:
Es macht durchaus Sinn, das in die Funktion zu setzen, da sie ja erst schreiben und sich dann erneut selbst aufrufen soll. Ansonsten erhielte ich durch die Funktion nur einen Namensvorschlag ;)
Add:
Habe inzwischen auch eine "Doppelnamen-Sperre" eingabaut...
<html> <head> <title>Atomkraft.Anti.de - Namensgenerator</title> </head> <body bgcolor=#101010 text=silver> <basefont size=4> <form name="vorschlaege"> <center> <table bgcolor=black border width=80%> <thead><td colspan=3 align=center><font size=+2><b>Namensvorschläge</b></font></td></thead> <tbody><tr align=center> <script language="JavaScript" type="text/javascript"> var zaehler=0, text; text=new Array(3); text[0]=""; vorschlag(); function vorschlag() { var zahl1, zahl2, name1, name2, zaehler2; zaehler=zaehler+1; if (zaehler<4) { zahl1=12*Math.random(); zahl1=Math.round(zahl1); zahl2=11*Math.random(); zahl2=Math.round(zahl2); name1=new Array(12); name1[0]="Fukushima"; name1[1]="Pseudo"; name1[2]="Atom"; name1[3]="Politik"; name1[4]="Internet"; name1[5]="Strahlen"; name1[6]="Demonstranten"; name1[7]="Protest"; name1[8]="AKW"; name1[9]="Uran"; name1[10]="Krypton", name1[11]="Plutonium"; name1[12]="Brennstabs"; name2=new Array(11); name2[0]="protestant"; name2[1]="fanatiker"; name2[2]="gegner"; name2[3]="feind"; name2[4]="interessent"; name2[5]="chatter"; name2[6]="teilnehmer"; name2[7]="rebell"; name2[8]="revolutionär"; name2[9]="mitglied"; name2[10]="wicht"; name2[11]="opfer"; text[zaehler]="<td>"+name1[zahl1]+name2[zahl2]+"</td>"; for (zaehler2=0; zaehler2<zaehler; zaehler2++) { if (text[zaehler]==text[zaehler2]) { zaehler=zaehler-1; } } vorschlag(); } } window.document.write(text[1]+text[2]+text[3]); </script> </tr></tbody> <tfoot><tr align=center> <td colspan=3><input type=submit value="Zur Startseite" onClick="location.href="/welcome.html"> <input type=submit value="Weitere Vorschläge" onClick="location.reload()"> <input type=submit value="Jetzt registrieren!" onClick="location.href="/register.html"></td> </tr></tfoot> </table> </center> </form> </body> </html>
Jetzt funktioniert der eigentliche Generator problemlos,
aber die Links, die ich über die Absende-buttons (1. und 3.) eingefügt haben, bringen gar nichts beim Anklicken...
Seite neuladen jedoch schon...
Wisst ihr, wo der Fehler liegt?
Beitrag zuletzt geändert: 18.4.2011 17:06:04 von anti-atomkraft -
@anti-atomkraft : Hallo Till !
Es macht durchaus Sinn, das in die Funktion zu setzen, da sie ja erst schreiben und sich dann erneut selbst aufrufen soll. Ansonsten erhielte ich durch die Funktion nur einen Namensvorschlag
Das hatte ich beim Testen Deinen Programms auch mal, aber nicht immer. Hingegen kam es bei der ursprünglichen Version auch vor, daß Namen doppelt erscheinen. Du hast es ja jetzt geändert.
Zu Deiner neuen Version : Wenn man das lokal aufruft, geschieht bei jedem Button das gleiche. Im Quelltext sah ich dann, daß Du eigentlich Unterseiten aufrufen willst. Also wollte ich mal sehen, wo Du das Prog im Netz hast. Wenn man auf Deine Seite hier bei lima-city geht, ruft die sich mehrfach rekursiv selbst auf. Ich habe dann Deine andere Seite noch anhand des oben genannten Links gefunden. Da passiert tatsächlich bei den äußeren beiden Buttons nichts.
Also anhand des Quelltextes
könnte sein, daß es "./welcome.html" und "./register.html" heißen muß.<input type=submit value="Zur Startseite" onClick="location.href="/welcome.html"> <input type=submit value="Weitere Vorschläge" onClick="location.reload()"> <input type=submit value="Jetzt registrieren!" onClick="location.href="/register.html">
Ach so, bei Deiner anderen Seite funktioniert ../.././welcome.html
P.S. : Nimm doch Harrisburg und Tschernobyl noch mit rein.
Beitrag zuletzt geändert: 18.4.2011 17:33:56 von pflanzenfreund -
Ok. Danke für eure Hilfe!
Ich habe 'mal mittels dieses Prinzips die Registration meiner Seite dahingehend erweitert,
dass man mit einem Klick auf einen Button einen Vorschlag in das Namensfeld geschrieben kriegt...
Desweiteren habe ich einen erheblich besseren, auch mit CSS angepassten Namensgenerator
im mittelalterlichen Skin erstellt, den ihr vorerst hier
finden könnt, jedoch später auf Krylia.de online gehen wird...
Grüße! -
Hallo ! Ich mußte eine Weile suchen, bis ich das mit dem Anmeldeformular fand und getestet habe. Eine gute Idee, aber für den angedachten Zweck sind das noch zu wenige Namen mit zu vielen Wiederholungen. Wenn sich massenweise Leute anmelden, sind keine Namen mehr vorhanden. Außerdem ergäbe sich das Problem, daß bei neuen Vorschlägen erst mal anhand der bestehenden Registrierungen geprüft werden sollte, ob es den Vorschlag schon als registriertes Mitglied gibt. Aber die Idee selbst ist prima. So etwas läßt sich sicher sehr vielfältig einsetzen, wie auch die interessanten Namensvorschläge bei den mittelalterlichen Namen zeigen.
Ich habe mal in die Quelltexte bei krylia.de reingesehen. Da schlackert man ja mit den Ohren bei den vielen Verzweigungen. Wenn ich darf, werde ich mir mal Deinen mittelalterlichen Namensgenerator hier bei lima-city kopieren und das Funktionsprinzip für einen anderen Zweck einsetzen. Ich schrieb mal einen Generator mit sehr umfangreichen Listen, der "echte" Adressdaten, also Vor- und Nachname, Straße, Hausnummer und Alter zusammenstellt, zum einen um Datenbanken für Testzwecke zu erzeugen, aber auch für anonymisierte Registrierungen. Das war bzw. ist allerdings abhängig vom Betriebssystem, weil an die benutzte Programiersprache gebunden. Mir schwebt vor, es jetzt mal auf Basis der von Dir benutzten Elemente zu probieren. Allerdings ist bei der Menge meiner Vorgabedaten die Benutzung einer Datenbank wahrscheinlich unumgänglich. Mal sehen.
-
Das kannst du meinetwegen machen...
Nur im Moment habe ich mittels .htaccess den gesamten Server lahmgelegt und finde das Problem nicht... :(
Ich schick' dir 'ne PN, wenn's wieder geht. Das heißt, falls... -
Danke erstmal ! Für mich war es kein Problem, die Seite mit dem Generator aufzurufen und da die Quellen zu laden. Auch Deine Hauptseite ist problemlos aufrufbar. Welche Schwierigkeiten hast Du denn mit .htaccess ? Ich beschäftige mich nämlich auch gerade damit, weil ich bei einem anderen Hoster Fehlermeldungen bekomme, wenn ich vorhandene, aber leere Unterseiten aufrufen will. Wenn alles nichts hilft, einfach die .htaccess per FTP löschen und neu anlegen. Aber ich denke mal, das hast Du schon, weil die Seite ja ( wieder ) funktioniert.
-
Joa, habe den Fehler auch gerade eben behoben...
Ich habe nämlich lediglich ein "i" vergessen, was die Sache nach der langen Suche nicht besser macht...
Add: 'habe die Funktion erweitert, sodass auch einzelne Namensteile (ähnlich wie beid er mittelalterlichen Version)
vorgeschlagen werden, jedoch keine bereits vergebenen mehr... :)
Beitrag zuletzt geändert: 28.4.2011 10:15:04 von anti-atomkraft -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage