Avatar billede mercutio Nybegynder
27. september 2004 - 17:29 Der er 8 kommentarer

Hvorfor virker det ikke?

var defaultFocus = "<%= form.getFocusPaaFelt().getNavn() %>";
try
{
   
    <%=form.getFocusHtml(form.getFocus())%>
}
catch(error)
{
    //try
    //{
    document.EBilag.getElementsByName(defaultFocus).focus();
    //}
    //catch(error2)
    //{
    //}
}

defaultFocus  er ligmed kontonr0 som findes som et input felt. Jeg kan ikke bruge getElementById da mine felter ikke har den værdi. Jeg kan sætte focus ved at skrive
document.EBilag.Kontonr0.focus();
Men hvordan får jeg gjort det i javascriptet når
document.EBilag.defaultFocus.focus();
ikke virker?
Avatar billede roenving Novice
27. september 2004 - 17:36 #1
Jeg forstår ikke lige hvad det er, du er ude på ...

-- det ser for mig ud til, at du vil afvikle noget javascript-asp delvist clientside, hvilket selvfølgelig er umuligt !-)
Avatar billede mercutio Nybegynder
27. september 2004 - 18:31 #2
Det gør jeg ikke. Det der sker er at <%= form.getFocusPaaFelt().getNavn() %> danner en String som jeg sætter ind i defaultFocus jscript variablen så jeg kan bruge den senere det sker jo serverside at jeg danner det html så det kan godt lade sig gi sig
<%=Form.getFocusHtml(form.getFocus())%> danner også noget javascript på serverside men vi skal bare gå ud fra det kaster en exception.
Avatar billede mercutio Nybegynder
27. september 2004 - 18:33 #3
Jeg vil gerne sætte focus på feltet med navnet som er i variablen defaultfocus men hvordan skal jeg gøre det når jeg ikke må bruge getElementById
hvis jeg måtte det kunne jeg skrive document.getElementById(defaultFocus).focus(); men jeg skal have en alternativ måde at gøre det samme på. Husk mine felter ikke har default focus
Avatar billede roenving Novice
27. september 2004 - 18:33 #4
Men den kaster jo den exception serverside ...

Eller danner du noget javascript, som laver en fejl ?-)
Avatar billede mercutio Nybegynder
27. september 2004 - 18:34 #5
Jeg danner javascript som kaster den exception =)
Avatar billede olebole Juniormester
27. september 2004 - 19:35 #6
<ole>

Det tidligste tidspunkt, du kan tildele et felt fokus, er når dette er tegnet i browseren. Er det ikke renderet, får du en fejl. Prøv at trigge scriptet på dokumentets onload-event.

Di ASP-kode hjælper ikke stort på løsningen. Hvad skrives ud i dokumentet? Dét er interessant  ;o)

/mvh
</bole>
Avatar billede mercutio Nybegynder
27. september 2004 - 20:10 #7
Ok sådan ser det ud når det køres i browseren. Levnr feltet findes ikke og derfor sker der en exception. Havde jeg skrevet
document.EBilag.Kontonr0.focus();
havde feltet Kontonr0 fået fokus hvilket er det der skal ske når der kastes en exception. Men jeg kan ikke skrive det på den måde jeg skal derfor have en anden måde at gøre det på.



<SCRIPT language="JavaScript">
var defaultFocus = "KontoNr0";
try
{   
    document.EBilag.Levnr.focus();
}
catch(error)
{
    try
    {
    document.EBilag.getElementsByName(defaultFocus).focus();
    }
    catch(error2)
    {
    }
}
</SCRIPT>
Avatar billede olebole Juniormester
27. september 2004 - 20:31 #8
<script type="text/JavaScript">
window.onload = function() {
    var defaultFocus = "KontoNr0";
    try {
        document.EBilag.Levnr.focus();
    }
    catch (error) {
        try {
            document.EBilag[defaultFocus].focus();
        }
        catch (error2) {
        }
    }
}
</script>

<form name="EBilag">
    <input type="text" name="ib">
    <input type="text" name="KontoNr0">
    <input type="text" name="knud">
</form>
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