Class und ID in einem Element
Beach
- javascript
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
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
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
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
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
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