Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] nicht alle werden gechecked

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • alex9787
    hat ein Thema erstellt [Erledigt] nicht alle werden gechecked.

    [Erledigt] nicht alle werden gechecked

    Hallo,

    ich würde gerne alle checkboxen nach funktionsstart auf true setzen. leider wird nur die erste berücksichtigt, der rest nicht. hier erstmal mein code:

    Code:
    <script type="text/javascript">
    	function alle () {
    	  document.getElementById("checkbox").checked = true;
    	}
    </script>
    <form name="form" action="">
    	<input type="checkbox" id="checkbox" name="1" >
    	<input type="checkbox" id="checkbox" name="2" >
    	<input type="checkbox" id="checkbox" name="3" >
    	<input type="checkbox" id="checkbox" name="4" ><br>
    	<div type="button" onclick="alle()">alle</div>
    </form>
    Ich muss in meinem fall mit ids arbeiten, da name bereits von php verwendet wird und die id der mail beinhaltet. also immer verschieden ist. (name="$n" > 231, 268, 310, ...). Aber wen JS auch das hinbekommt, zum beispiel mit einer schleife in einer funktion, würd ich auch name nutzen. zum beispiel sowas:
    for( var i = 0;i<1000;i++){
    document.form.+i+.checked=true;} oder so xD

    aber erstmal die id, warum werden nicht alle gechecked sondern nur die erste? danke schomal.

  • alex9787
    antwortet
    die sind auch bescheiden. und ihr hattet recht.

    Einen Kommentar schreiben:


  • ChrisB
    antwortet
    Zitat von alex9787 Beitrag anzeigen
    hey chris...danke für den hinweis, ich fang mal an html zu lernen xDxD^^
    Soll das jetzt Sarkasmus sein?

    Den kannst du dir absolut nicht leisten, so lange du noch solche eklatanten Fehler in deinen Code einbaust.
    Und dass du diese Fehler dann auch noch mit „ich muss das so machen“ rechtfertigen willst, zeigt auch noch, dass deine Programmierkünste noch ebenso bescheiden sind.

    Also, so lange bitte Ball mal schön flach halten.

    Einen Kommentar schreiben:


  • Manko10
    antwortet
    Dann noch fix den Danke!

    Einen Kommentar schreiben:


  • alex9787
    antwortet
    ach egal, schon ok =) no time. disskutiert ihr mal weiter. danke trotzdem. bis zum nächten mal ^^

    Einen Kommentar schreiben:


  • alex9787
    antwortet
    hey chris...danke für den hinweis, ich fang mal an html zu lernen xDxD^^

    kurze frage, welche projekte hast du momentan am laufen die einnahmen bringen??

    Einen Kommentar schreiben:


  • Manko10
    antwortet
    @Asipak: Schneller.

    @ChrisB: das war jetzt auf den (leider zu recht) grundgenervten Allgemein-Tenor deiner Beiträge heute gemünzt und gar nicht als negative Kritik gemeint.

    Einen Kommentar schreiben:


  • ChrisB
    antwortet
    [OT]
    Zitat von Manko10 Beitrag anzeigen
    Du nimmst auch kein Blatt vor den Mund, oder?
    In Bezug auf was hätte ich das tun sollen ...?

    Das Grundlagenwissen über HTML fehlt, ist aus der Problembeschreibung offensichtlich.

    Und dass es absolut unsinnig ist, auf defektem HTML überhaupt mit JavaScript arbeiten zu wollen, ist auch ein verbreiteter Erfahrungswert.

    Deshalb kann die Empfehlung hier nur lauten: Lerne Grundlagen, und zwar in der angegebenen Reihenfolge.

    Und das bringe ich lieber deutlich zum Ausdruck, als mit so viel Zucker verkleistert, dass der Frager dann doch wieder nur nach einer Reparatur seines defekten Codes zu fragen geneigt ist - selbst wenn wir die für ihn vornehmen, hilft ihm das nämlich auf Dauer nicht weiter, das nächste Problem gleicher Bauart kommt dann bestimmt.


    Bei sämtlichen clientseitigen Problemen gilt: Immer zuerst validen Code (HTML/CSS) herstellen, bevor man überhaupt mit der Problemanalyse weiter macht.
    [/OT]

    Einen Kommentar schreiben:


  • Asipak
    antwortet
    Wobei die Funktion noch praktischer wäre, würdest du die Checkboxen vorher zählen, sonst musst du bei einer Wiederverwendung des Scripts jedesmal die Anzahl der Schleifendurchläufe ändern. Bei einer Anwendung, bei der sich die Anzahl der Checkboxen dynamisch ändern kann, müsstest du mit diesem Schnipsel bereits ganz aufgeben.

    Gruß

    [edit] Hey Manko, da hast du jetzt aber drübereditiert

    Einen Kommentar schreiben:


  • Manko10
    antwortet
    aber getelementbytagname war mir noch unbekannt
    getElementsByTagname()! Man beachte den Plural (im Gegensatz zu getElementById()).
    Im Übrigen wäre es sinnvoller, die Funktion einmal vor der Schleife aufzurufen anstatt zig mal innerhalb. Unnötiger Overhead, außerdem kannst du damit gleich die Menge an Schleifendurchläufen festlegen.
    Code:
    function alle () {
        var checkboxes = document.getElementsByTagName("input");
        for(var i = 0; i < checkboxes.length; i++){
            checkboxes[i].checked = true;
        }
    }

    Einen Kommentar schreiben:


  • alex9787
    antwortet
    Hey super danke dir. hab mich ma in js eingelesen aber getelementbytagname war mir noch unbekannt =)

    ich musste nur noch ne schleife einbinden und so werden alle nun gechecked =)
    Code:
    function alle () {
    		for(var i = 0; i<100;i++){
    	  document.getElementsByTagName("input")[i].checked = true;
    	  }
    	  
    	}
    danke dir.

    Einen Kommentar schreiben:


  • Asipak
    antwortet
    Wo er Recht hat...

    Einen Kommentar schreiben:


  • Manko10
    antwortet
    Du nimmst auch kein Blatt vor den Mund, oder?

    Einen Kommentar schreiben:


  • ChrisB
    antwortet
    Zitat von alex9787 Beitrag anzeigen
    Ich muss in meinem fall mit ids arbeiten
    Du darfst aber nicht so mit IDs arbeiten, weil HTML das schlicht und einfach nicht erlaubt - eine ID muss dokumentweit eindeutig sein.

    aber erstmal die id, warum werden nicht alle gechecked sondern nur die erste?
    Wegen der nötigen Eindeutigkeit einer ID ist auch die Methode getElementById natürlich darauf ausgelegt, genau ein Element zurück zu liefern.

    Wenn du mit mehreren Elementen etwas machen willst - dann brauchst du eine Schleife.


    Gehe bitte folgendermaßen vor:
    1. Lerne Grundlagen von HTML
    2. Lerne Grundlagen von JavaScript
    3. (optional) Frage hier wieder nach, wenn du noch weitere Probleme damit hast - aber erst dann, wenn du Schritt 1. und 2. abgearbeitet hast!

    Einen Kommentar schreiben:


  • Asipak
    antwortet
    ... (Codeschnipsel rauseditiert) sorry, habs mir überlegt, nicht der Sinn des Forums ...

    Einen Kommentar schreiben:

Lädt...
X