Andreas: Checkboxen und blur() - AUWEIA!!

Na, was hab ich denn da in SH gelesen ?

(  tecbbda.htm#a9  )

Blur() ist anwendbar auf Checkboxen ?
gut...auch mal was Neues...

Geht aber nicht (ätsch) ;-))

Folgender Primitiv-Code:

<html>
[blabla]
</head>

<body bgcolor="#FFFFFF" text="#000000">

Hallo hier kommt eine Testform
<P></P>
<P></P>

<form name="MeineForm">
   <input name="Feld" size="30" onFocus="this.form.Feld.blur()">
   <input name="Feld2" type="checkbox" onFocus="this.form.Feld2.blur()">

</form>
</body>

"Feld" geht, aber "Feld2" geht nicht.

Und das ist schlecht.
Wie gesagt, ich zitiere nur SH:
  "blur() ist anwendbar auf checkboxen."

???

  1. Hallo Andreas,

    Blur() ist anwendbar auf Checkboxen ?
    gut...auch mal was Neues...

    Geht aber nicht (ätsch) ;-))

    aber sicher geht es, allerdings in Verbindung mit dem event onblur();

    teste mal:

    <form name="MeineForm" >
       <input name="Feld" size="30" onFocus="this.form.Feld.blur()">
       <input name="Feld2" type="checkbox" onFocus="this.form.Feld2.blur()" onBlur="alert('ja');">

    </form>

    Ich tippe darauf, dass im Falle der Nichtüberwachung einfach der Befehl blur() zu spät wirksam wird.

    Noch eine Bemerkung: den Ton den du angeschlagen hast finde ich nicht ganz passend. SELFHTML erhebt keinen Anspruch auf Vollständigkeit und Fehlerfreiheit.
    Siehe auch <../../taa.htm>

    Viele Grüße

    Antje

    1. Hallo!

      mit :

      <input type=checkbox onclick="this.blur()">

      Funftioniert es auf jeden Fall!

      Viele Grüße Alex

      1. Hallo!

        mit :

        <input type=checkbox onclick="this.blur()">

        Funftioniert es auf jeden Fall!

        Viele Grüße Alex

        Nein, das geht nicht!

        Ich benutze IE4 SP2.
        Reicht eigentlich für die JS-Version, die ich programmiere, aus.

        Vielleicht ist dir noch nicht ganz klar, was ich machen will : ich will ein statisches Kästchen erzeugen.
        d.h. der Benutzer _sieht_ nur ob es angeklickt ist oder nicht, aber er kann den Status der Checkbox nicht ändern!

        Mit this.blur() beziehst du dich auch garnicht auf die Checkbox selber, sondern auf etwas anderes.

        Probiers erstmal bei dir selbst aus, und sag mir ob es bei _dir_ geht. Da bin ich gespannt.

        1. hallo!

          Achso hast du das gemeint, das this.blur() bezieht sich auf den gestrichelten Rand um die Checkbock.
          Wenn du die Checkbox deaktivieren möchtest probier‚s doch mal mit:
          <input type=checkbox DISABLED oder READONLY >
          (allerdings funktioniert das nur im IE)

          bis dann
          Alex

        2. Hallo Andreas,

          Vielleicht ist dir noch nicht ganz klar, was ich machen will : ich will ein statisches Kästchen erzeugen.
          d.h. der Benutzer _sieht_ nur ob es angeklickt ist oder nicht, aber er kann den Status der Checkbox nicht ändern!

          also ich habe es nochmal getestet. Stimmt, es klappt nur mit alert. Verwende einfach folgendes Workaround:

          <form name="MeineForm" >
             <input name="Feld2" type="checkbox" onClick="blure()">

          </form>
          <script language="JavaScript">
          <!--
            x=document.MeineForm.elements.Feld2.checked;
            function blure() {
               document.MeineForm.elements.Feld2.checked=x;
          }
          //-->
          </script>

          In x wird einfach gespeichert, ob die Box gesetzt war. Wird die Box erneut angeklickt, so wird sie einfach auf den Ausgangswert zurückgesetzt.

          Viele Grüße

          Antje

          1. Es geht noch besser :-) ganz ohne Variablen:

            <form name="MeineForm" >
               <input name="Feld1" type="checkbox" onClick="blure('Feld1')" >
               <input name="Feld2" type="checkbox" onClick="blure('Feld2')" checked>
            </form>
            <script language="JavaScript">
            <!--

            function blure(x)
               {
                 document.MeineForm[x].checked = !(document.MeineForm[x].checked);
               }
            //-->
            </script>

    2. Hallo Andreas,

      Blur() ist anwendbar auf Checkboxen ?
      gut...auch mal was Neues...

      Geht aber nicht (ätsch) ;-))

      aber sicher geht es, allerdings in Verbindung mit dem event onblur();

      teste mal:

      <form name="MeineForm" >
         <input name="Feld" size="30" onFocus="this.form.Feld.blur()">
         <input name="Feld2" type="checkbox" onFocus="this.form.Feld2.blur()" onBlur="alert('ja');">

      </form>

      Ich tippe darauf, dass im Falle der Nichtüberwachung einfach der Befehl blur() zu spät wirksam wird.

      Noch eine Bemerkung: den Ton den du angeschlagen hast finde ich nicht ganz passend. SELFHTML erhebt keinen Anspruch auf Vollständigkeit und Fehlerfreiheit.
      Siehe auch <../../taa.htm>

      Viele Grüße

      Antje

      Nein, das wars auch leider nicht.

      Ich habe es so gemacht, wie du beschrieben hast.
      Aber das Kästchen wird trotzdem angehakt, was ja nicht sein soll! Ich möchte es statisch, also nur so eine Box, in der angezeigt wird, ob aktiviert oder nicht aktiviert - aber NICHT änderbar!
      Und bei Textfeldern ist das mit blur() prima möglich, bei Checkboxen allerdings nicht.