Clanintern Clanintern Clanintern

Forum

Öffentliche Foren
FORUM: Spiele & Computer THEMA: [JS] onclick und display
AUTOR BEITRAG
Solid

RANG Deckschrubber

#1 - 20.04 12:35

Hallo!

Ich will das bei einem Klick auf einen Textlink ein span der vorher nicht angezeigt wurde nun angezeigt wird!

Ungefähr so hab ich es bis jetzt:

Der Link:
<A onclick="showspan("kat'.$i.'")">edit</A>

Der span:
<span id="kat'.$i.'" style="display:none"><input type="text" name="" value="'.$kategorien[$i][0].'"></span>

(steht in PHP Datei)

Was mach ich falsch? Weil mit Firefox funzt es nicht :(

edit:

achso, lol, die Funktion vergessen ^^:

<script type="text/javascript">
function showspan(id){
document.getElementById(id).style.display = "block";
}
</script>
Allanon // alex

CI-Chef

RANG Prophet of Clanintern

#2 - 20.04 12:57

<A onclick="showspan(\'kat'.$i.'\')">edit</A>

dann klappts..
und btw: span is ein inline element, kein block
Solid

RANG Deckschrubber

#3 - 30.04 11:31

ok habs geändert nun hab ich die Funktion so und ein kleines Problem immernoch leider:

function showspan(id, standart){
if(document.getElementById(id).style.display=="none") document.getElementById(id).style.display = "inline";
else{
document.getElementById(id).style.display = "none";
document.getElementById(id).value = standart;
}

Er soll also nicht nur das Feld wieder verstecken sondern er soll einen Standartwert wieder auf das Feld eintragen wenn es geschlossen wird.

Nun, das korrekte Feld wird jeweils geöffnet und geschlossen, aber wenn ich den Wert darin ändere und es schließe und danach öffne steht wieder der geänderte wert drin und nicht der standart wert :(

Ich habe überprüft ob die Variable standart richtig gesetzt ist und js gibt mir diese per alert richtig aus also kann es daran schonmal nicht liegen, wo ist der Fehler? :(
inta

RANG Master of Clanintern

#4 - 30.04 12:01

Was du mit dem Standard meinst hab ich glaub ich noch nicht so ganz gerafft. Ein Span hat kein Attribut "value", also wirst du das so auch nicht setzen können.

Ich würde übrigens nicht die Id übergeben, sondern direkt eine Referenz auf das Objekt:
code:
function showSpan(obj) {
    if (obj.style.display == 'none') {
        obj.style.display = 'inline';
    } else {
        obj.style.display = 'none';
    }
}


Aufrufen müsstest du es dann mit:
code:
... onclick="showSpan(this);" ...
Solid

RANG Deckschrubber

#5 - 30.04 12:05

oha jetzt ist mir das aufgefallen, eiei, hab vergessen das der ganze span gecloned wird und nicht nur das Feld mit dem Text darin eieiei ^^

danke aber manchmal sieht man halt den Wald vor lauter bäumen nicht ^^