Avatar billede guro.not Nybegynder
04. december 2003 - 23:32 Der er 16 kommentarer og
1 løsning

focus() på text feldt i en form i et div?

Hejsa...
Jeg har følgende:
Et master DIV, som vises.
<div id="MasterDiv" style="position:absolute; width:100%; visibility: visible; overflow: visible;"></div>

En masse Div'er som er hidden. det eneste som er forskeld på dem er deres id DivDag1,DivDag2,DivDag3 osv.
Hvert div indeholder en form hvor id'et oxo ændre sig efter samme prensip, FormDag1, FormDag2, FormDag3, osv.

<div id="DivDag1" style="position:absolute; width:100%; visibility: hidden; overflow: visible;">
<form name="FormDag1" method="post">
<input type="Text" name="Text_ID" value="" size="6" style="text-align : right;">
</form>
</div>

Og en function til at kopiere indholdet af DivDagX over i master div'et.

function showDivTxt(DivName) {
    document.getElementById('MasterDiv').style.background = '#FFFFFF';
    document.getElementById('MasterDiv').innerHTML = document.getElementById(DivName).innerHTML;
}

alt dette virker fint, og er ikke problemet..
hvordan får jeg givet focus'et til det text feldt som ligger på master div'et når jeg har udført min function.
for så er der jo lige med et 2 form's med samme id'er og 2 text felter med samme id..

fangede i den....

Guro.Not
Avatar billede thesurfer Nybegynder
04. december 2003 - 23:36 #1
Hvad hedder feltet i MasterDiv der skal have focus?
Avatar billede thesurfer Nybegynder
04. december 2003 - 23:43 #2
Prøv med:
document.FORMNAVN.FELTNAVN.focus();

Erstat FORMNAVN med navnet på formen, og FELTNAVN med navnet på feltet.
Avatar billede guro.not Nybegynder
04. december 2003 - 23:43 #3
Det hedder <input type="Text" name="Text_ID" value="" size="6" style="text-align : right;">

tager innerHTML fra et div og smider det over i master divet.

håber at du kan komme med en løsning
Avatar billede thesurfer Nybegynder
04. december 2003 - 23:45 #4
document.FORMNAVN.Text_ID.focus();

Vi nærmer os.. :)
Hvad hedde formen så?
Avatar billede thesurfer Nybegynder
04. december 2003 - 23:49 #5
Der skulle gerne stå noget der ligner:
<form name="et-eller-andet">
...
<input type="Text" name="Text_ID" value="" size="6" style="text-align : right;">
...
</form>

Hvad står der i hvad står der i stedet for "et-eller-andet"?

Come om.. you can do it! :)
Show me the form-name! :)
Avatar billede guro.not Nybegynder
04. december 2003 - 23:51 #6
Hejsa igen...
den gik ikke...
min function ser nu således ud...
function showDivTxt(DivName, FormName) {
document.getElementById('MasterDiv').style.background = '#FFFFFF';
document.getElementById('MasterDiv').innerHTML = document.getElementById(DivName).innerHTML;
document.FormName.Tjeneste_ID.focus();
}

og bliver kalt med en onclick="showDivTxt('DivDag22', 'FormDag22'); return false;"
Avatar billede guro.not Nybegynder
04. december 2003 - 23:56 #7
har oxo prøvet med document.forms[FormName].Tjeneste_ID.focus();

vil lige skynde mig at sige at
<div id="DivDag1" style="position:absolute; width:100%; visibility: hidden; overflow: visible;">
<form name="FormDag1" method="post">
<input type="Text" name="Text_ID" value="" size="6" style="text-align : right;">
</form>
</div>
er en meget ned kogt version af min form.... name="Text_ID" er name="Tjeneste_ID"

Guro.Not
Avatar billede thesurfer Nybegynder
04. december 2003 - 23:56 #8
Hedder din form virkeligt "FormName"?
Husk at i JavaScript da er "OK" ikke det samme som "oK", "Ok" eller "ok".
Avatar billede thesurfer Nybegynder
04. december 2003 - 23:59 #9
Hvis du bruger "document.forms..", skal du bruge document.forms['FormName'].Tjeneste_ID.focus();

Prøv at kalde formen til MasterDiv for "md", og brug:
document.md.Tjeneste_ID.focus();
Avatar billede guro.not Nybegynder
05. december 2003 - 00:05 #10
forms['FormName'] må da være en form med navnet FormName og ikke det FormName som er sendt med showDivTxt(DivName, FormName)

har oxo lidt væært ved at se at de skulle gøre en forskeld om jeg kalder mit MasterDiv for MasterDiv eller md..

document.getElementById('MasterDiv').innerHTML = document.getElementById(DivName).innerHTML;
virker jo fint.. men ... problemet ligger i at der nu er 2 form's med det sammen name... så hvor dælen får jeg referet til den af dem som ligger i MasterDiv's innerhtml..

Guro.Not
Avatar billede guro.not Nybegynder
05. december 2003 - 00:08 #11
div'et som innerhtml tages fra.. jeg har mellem 28 og 31 af dem... godt gættet det er en kalender ;-) så.. DivDagX er dag 1 dag 2 osv.
<div id="DivDag1" style="position:absolute; width:100%; visibility: hidden; overflow: visible;">
<form name="FormDag1" method="post">
<input type="Text" name="Tjeneste_ID" value="" size="6" style="text-align : right;">
</form>
</div>
Avatar billede thesurfer Nybegynder
05. december 2003 - 00:10 #12
Skriv lige al koden der står i MasterDiv.
dvs, alt fra <div...> til </div>, begge tags inklusiv.
Avatar billede mm12010 Nybegynder
05. december 2003 - 00:52 #13
hvis din MasterDiv ligger først på siden og dermed indholder den første form kan du bruge:

document.forms[0].Tjeneste_ID.focus();
Avatar billede thesurfer Nybegynder
05. december 2003 - 00:59 #14
Jeg overvejede også at bruge [0], men jeg ville have navnet på formen i stedet..
og jeg kan ikke forstå hvorfor der er flere forms med samme navn..
Derfor skrev jeg at han skulle skrive hele MasterDiv.. men han er vist gået i seng.. og det gør jeg også..
Godnat folkens.. "where ever you are".. :)
Avatar billede roenving Novice
05. december 2003 - 01:57 #15
Hvad med bare at skjule eller vise din div i stedet ?-)

-- så kommer der aldrig mere en een form med samme navn !-)

function showDivTxt(DivName, FormName) {
document.getElementById(DivName).style.display=block;
document.forms[FormName].Tjeneste_ID.focus();
}
Avatar billede guro.not Nybegynder
05. december 2003 - 08:37 #16
Hejsa igen....

Selve MasterDiv er skrevet i den første post her(kig i toppen)...
men her er den...<div id="MasterDiv" style="position:absolute; width:100%; visibility: visible; overflow: visible;"></div>

document.forms[0].Tjeneste_ID.focus(); VIRKER !! JUBII...

mm12010 smid et svar.....

Guro.Not
Avatar billede mm12010 Nybegynder
05. december 2003 - 10:34 #17
kast :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester