Formular: checkbox verlangt "required" Eingabenfeld-Eintrag

  • Hallo zusammen.


    Soviel mal vorweg: meine JavaScript-Programmierfähigkeiten sind seeeehr minimal. Muss für Freunde ein online Forumlar als Anmeldung für ein Badmintonturnier... Das klappt soweit ganz gut, allerdings habe ich ein kleines Problem. Man muss irgendwo per Checkbox die Kategorie auswählen (Einzel, Doppel, Mixed oder Senator). Davon darf man maximal 2 auswählen. Wird was ausgewählt, sollte automatisch das dazugehörende Eingabefeld (Name/Vorname PartnerIn) sowie die Radiobuttons "Level" (also A, B+, B-, C+ oder C-) als Pflichtfeld erscheinen...


    Wer kann mir da weiter helfen?



    Vielen Dank


    Matthias

  • So sieht der ganze Quelltext mit allem drum und dran aus...


  • hmmm... ich hab das nicht gemacht, weil ich dir ein Ei legen wollte... Mir war (naja, ganz ehrlich gesagt: IST) nicht ganz klar, was du genau willst... Sind die codetags nicht die <style>s und <body>s usw.? Hab jetzt einfach mal den ganzen Quelltext reingehauen... Kein Ahnung, ob ich dir damit nen Gefallen gemacht hab... Hmmm... wie du siehst: es war nicht gelogen, dass ich nicht allzuviel Ahnung hab... :?

  • so isses schon richtig.. codetags sind die bb-tags vom forum, damit der code nicht unformatiert als reintext dasteht.
    die anderen tags sind html-tags


    ich schau es mir heute abend nach der Arbeit mal an :)


    edit: hab mir jetzt die sources geholt, kam was dazwischen...
    meld mich sobald ich dir hier n bissi infos bieten kann

  • soo update ;)
    vorab noch die info: ich hab dir bisher keinen code geschrieben, da ich dir auf dem weg das selber zu meistern helfen möchte. statt dir einfach irgendwelchen code hinzuwerfen ;)


    also zur herangehensweise: (mit jQuery wäre übrigens wesentlich einfacher umzusetzen, aber dafür musst du erstmal normales javascript verstehen, denke ich)
    du kannst bei den checkboxes eine ID mitliefern
    damit du über document.getElementById an die dinger drankommst. alternativ kannst du den dingern auch ne klasse geben und mit document.getElementsByClassName('NAME_DERKLASSE'); darauf zugreifen.


    bei einem klick auf eines dieser elemente musst du prüfen, wieviele von denen angehakt sind...
    weil du kein jquery hast und somit kein document.ready-event verfügbar ist bleiben dir drei möglichkeiten:
    das registrieren der funktionalität in window.onlod zu stopfen, direkt an die elemente ein onclick-attribut zu hängen und die funktionalität in eine function zu schreiben oder aber den code ans ende vors schliessende body-tag zu setzen.
    die onload-variante könnte so aussehen (ungetestet)


    console.log ist eine debug-ausgabe, die nur funktioniert, wenn eine konsole verfügbar ist (zB im Firebug, nem addon fürn firefox) oder in den entwickler-tools vom IE
    vorsicht: es gibt fehler, wenn die konsole nicht bekannt ist.


    wenn du also im firefox deine seite öffnest, den code in dein scripttag ballerst, müsstest du bei jedem klick auf eine deiner mit der klasse 'js_cat' versehenen inputboxen eine ausgabe bekommen.
    einmal wird dir gesagt welches element du geklickt hast und zum anderen wird dir der aktuelle counter ausgegeben.
    ganz am anfang siehst du die repräsentation deiner input-felder also DOM-Objekte gelistet (also wenns klappt.. is ja ungetestet^^)
    DOM = Document Object Model


    also damit kannst du schomma herausfinden, was angeklickt wurde und wieviel boxen aktiv sind, also checked.



    dann gehst weiter damit, dass du nun andere bereiche deaktivieren musst (verbliebene checkboxen etc. der auswahl entsprechend brauchst du jetzt neue pflichtfelder usw.)


    damit das hier nicht in einem roman ausartet, kannst du ja jetzt mal schreiben, ob du alles verstanden hast, wo evtl. fragen sind und mach dir mal weiterführende gedanken, was deine nächsten schritte sein sollten. vielleicht bringst du ja auch etwas mehr code hervor, um fortschritte zu machen :)

  • Hallo Synaptic!


    Hmmmmm... erst Mal danke für deine Mühen... Aber ich muss ganz ehrlich sein: Viel mehr als Bahnhof kann ich leider nicht verstehen... Ich stimme mit dir absolut überein, der Lerneffekt soll nicht fehlen - ich würde gerne ein bisschen mehr JavaScript verstehen. Aber wie in meinem ursprünglichen "Hilfeschrei" erwähnt: meine Fähigkeiten sind seeeeeeehr bescheiden. Hmmm... Vielleicht sollte ich besser sagen: komplett inexistent. Ich habe mich noch nie mit der Funktionsweise von Java auseinandergesetzt. Kann nicht unterscheiden, was Befehle, was Verweise, was eigene Namen usw. sind... Bevor ich fähig bin, mir irgendwelche weiterführende Gedanken zu machen, muss ich mich erstmal in die Basics einarbeiten (die paar wenigen Java Sripts die ich bisher gebraucht habe, habe ich mir wie gesagt immer so im aus versch. Foren zusammengesucht. Daher muss ich die Frage wohl andersrum stellen (da mir mitlerweile auch ein bisschen die Zeit davon läuft - das Ding muss online gehen und wäre mit den Zusätzen natürlich ein bisschen "profesioneller" (würd aber in der Not auch ohne gehen!).): wie lautet der Quellcode, damit das Formular tut, was ich gerne von ihm hätte? Lernen würde dann wohl eher in der nächsten Stufe kommen... :-D


    Meinste, du könntest/möchtest mir unter diesen Bedingungen immer noch weiterhelfen?


    Lieben Gruss


    Matthias

  • nächstes Wochenende müsst's online sein... Wie gesagt, was steht reicht an und für sich auch schon... Hab mir gedacht, dass ich da leichter ne Lösung finde, bzw. dass sich ein Crack das anguckt und sagt: "meine Güte, ist ja n Klacks!" und 30 Sekunden später stehts... ;) Man möge mich auch naiv nennen... ;)

  • naja des sind halt alles abhängigkeiten, die dann entsprechend zu klären sind und mit dem bisherigen code ist das dann auch keine 0-8-15-integration.


    ich schau mal, was ich tun kann, aber versprechen kann ich dir nichts. mit vollzeitjob, frau, haus und tierschutzprojekt bleibt nicht viel zeit für kostenlose mehraufwände ;)

  • Versteh ich voll und ganz... so geht's mir ja grad mit diesem Formular... Zwar ohne Frau und Kind, dafür selbstständig - und das ist dummerweise immer mehr als 40 stunden die woche aufwand... ;) Bin Fotograf - vielleicht kann ich mich ja irgendwie so revanchieren... ;) Let me know! Und auf jeden Fall tausen Dank für den Support!