Struppi: PERFEKT!

Beitrag lesen

Das Beispiel ist nicht so gut.

<script language="JavaScript">

Das language Attribut gehört hier nicht mehr hin und das type Attribut fehlt.

<!--

HTML Kommentare waren nötig zu Zeiten von Netscape 1.x

function checkall()

Da deine Checkbox in dem gleichen Formular ist wie die die du anwählen willst, könntest du hier direkt das Formular übergeben und würdest dir Tipparbeit ersparen und bräuchtest keinen Namen mehr für das Formular.

{
if (document.custform.selectall.checked == true)
{
  el = document.forms["custform"].elements;
  for (i=0;i < el.length;i++)

Variabeln global machen (vor allem Schleifenzähler) ist in dem Fall zwar nicht schlimm ist aber eine sehr unsaubere Sache, die zu unerwarteten Programmabläufen führen.

else

Das ganze if else Konstrukt kannst du dir sparen, das Element selectall ja den Zustand der anderen checkboxen beschreibt.

Besser wäre das Skript so:

Aufruf:
<input type="checkbox" name="selectall" onclick="window.selectall(this);">
(window ist hier nötig, da der IE ansonsten nicht weiß was er tun soll)

  
<script type="text/javascript">  
function selectall(el)  
{  
    var checked = el.checked;  
    var elements = el.form.elements;  
    for(var i = 0; i < elements.length;i++)  
        if(elements[i].type.toLowerCase() == 'checkbox') elements[i].checked = checked;  
}  
</script>  

Struppi.

--
Javascript ist toll (Perl auch!)