Hej
Jeg sidder og bøvler med lidt javascript.
I virkeligheden er der tale om en art CMS lavet med ASP.
For at prøve noget nyt forsøger jeg mig med flere formularer på samme side,
der så hver i sær skal tage sig af en begrænset del af opdateringen af
informationer.
Samtidig vil jeg gerne give mulighed for at brugeren hurtigt kan komme til
at rette uden først at skulle over på en ny side. Derfor forsøger jeg mig
også med noget DHTML til at skifte mellem hhv. "det pæne interface" og
formularfelter.
Jeg har et par tabelceller der ser ca. således ud (al ASP er pillet ud):
<form action="ret.asp" method="post">
<td id="Cfornavn" style="display:block; cursor:hand"
onMouseDown="skjulvis('Cfornavn','Cfornavnret','fornavn');">
Fornavn: Anders
</td>
<td id="Cfornavnret" style="display:none">
<input type="text" id="fornavn" name="fornavn" value="Anders">
<input type="submit" value="Rediger">
<input type="button"
onClick="skjulvis('Cfornavnret','Cfornavn','fornavn');" value="Fortryd">
</td>
</form>
(Nej, det er ikke pokkers validt at smide <form> ind midt i en tabel - I
know)
Sagen er at når jeg klikker på celle1 (Cfornavn) skal denne blive usynlig og
celle2 (Cfornavnret) skal blive synlig - og dette virker rigtig mageløst.
Mit problem er at jeg samtidig gerne vil sætte fokus i feltet "fornavn" i
celle2 -og det går bare SLET ikke ;-(
Min funktion ser således ud:
function skjulvis(skjul,vis,felt) {
document.getElementById(skjul).style.display = 'none';
document.getElementById(vis).style.display = 'block';
document.all.fornavn.select();
}
Jeg får hverken fejl eller noget!
Læg i øvrigt mærke til at jeg endnu ikke har gjort mig forhåbninger om at få
min fokusering til at være dynamisk i forhold til parameteren "felt", men
blot forsøger at tilgå "fornavn".
På sigt er det naturligvis meningen at flere forskellige områder på min side
(dvs. ANDRE <form>-områder kan bruge den samme funktion.
Det rigtig spøjse er at tilføjer jeg en alert sidst i min funktion så VIRKER
DET!!
function skjulvis(skjul,vis,felt) {
document.getElementById(skjul).style.display = 'none';
document.getElementById(vis).style.display = 'block';
document.all.fornavn.select();
alert("What ever");
}
Men det er jo ikke så fedt at få en alert smækket i hovedet hver gang
Er der nogen der kan give mit et svar på hvor det går galt?? Jeg er pænt
forvirret!
mvh
Anders