Beach: Class und ID in einem Element

Hi,

ich versuche über javascript das Textfeld eines Formulars ein/ausblenden zu lassen.
Das funktioniert auch solange ich dem Feld keine css Klasse zuweise sobald ich das mache wird das Feld nicht mehr eingeblendet.

Hat jemand eine Tip für mich.

[teilcode]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<link rel="stylesheet" href="/css/main.css" type="text/css">
<style type="text/css">
<!--
...
   span.table.name {position:absolute; left:50px;}
   input.table.name {display:none; height:16px; width:130px;}
...
-->
</style>
<script type="text/javascript">
  function show(id) {
    element = document.getElementById(id);
    element.style.display = '';
    element.focus();
  }
  function  hide(id) {
    element = document.getElementById(id);
    element.style.display = 'none';
  }
</script>
</head>
<body>
...
   <span class="table name" onclick="show('name1')">admin</span>
   <input class="table name"  type="text" name="name" id="name1" value="admin" onblur="hide('name1')" />
...
 </body>
</html>
[teilcode]

Grüße Thomas

  1. Hi Thomas,

    ich versuche über javascript das Textfeld eines Formulars ein/ausblenden zu lassen.
    Das funktioniert auch solange ich dem Feld keine css Klasse zuweise sobald ich das mache wird das Feld nicht mehr eingeblendet.

    Hat jemand eine Tip für mich.

    [teilcode]
        element.style.display = '';

    schon mal versucht der Display-Eigenschaft wieder einen Wert, in diesem Fall 'inline' zuzuweisen?

    Gruß Gunther

    1. Hi,

      schon mal versucht der Display-Eigenschaft wieder einen Wert, in diesem Fall 'inline' zuzuweisen?

      Ja hab ich, das ganze funktioniert auchm, solange ich dem Input keine Klasse zuweise. Sobald das class="table name" drin steht funktioniert das script nicht mehr.

      Gruß Gunther

      Grüße Thomas

      1. Hi,

        Ja hab ich, das ganze funktioniert auchm, solange ich dem Input keine Klasse zuweise. Sobald das class="table name" drin steht funktioniert das script nicht mehr.

        was passiert, wenn das <input> über class="foobar blablub" verfügt?

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hi,

          Ja hab ich, das ganze funktioniert auchm, solange ich dem Input keine Klasse zuweise. Sobald das class="table name" drin steht funktioniert das script nicht mehr.

          was passiert, wenn das <input> über class="foobar blablub" verfügt?

          jetzt gehts, ich hatte noch nen anderen Fehler, als ich das display inline eingefügt hatte.

          Danke für die Hilfe
          Grüße Thomas

  2. Hi,

    input.table.name {display:none; height:16px; width:130px;}

    Ein leerer display-Wert stellt den Ursprungswert wieder her. Den Ursprungswert definierst Du hier mit "none".

    Es ist i.d.R. aber ohnehin nicht sinnvoll, Elemente zu verstecken, um sie mit JS wieder einzublenden. Sinnvoller ist es meistens, einzublendende Elemente auch mit JS vorher zu verstecken - auf das sie ggf. nicht ewig unsichtbar bleiben ...

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!