Avatar billede trylmand Nybegynder
28. september 2000 - 15:07 Der er 7 kommentarer og
1 løsning

Hente værdi fra link til formfelter

Jeg har et dokument med to layers,
Layer 1 viser udtræk fra en db,
hvor hvert udtræk er et link.

Ved tryk på linket kommer man til layer 2,
hvor dbudtrækket redigeres via en form.

Eks.

LAYER 1
<a href=\"#\" id=\"a<% =dbid %>\" value=\"<% =dbid & \",\" & sprog & \",\" & forkort %>\"
onClick=\"goRed();\"><% =sprog %></a>
osv...

///javascript///
function goRed()
    {
    if (currentpane == 1)
    {
        document.all.Pane2.style.visibility = \"\";
        document.all.Pane1.style.visibility = \"hidden\";
        Next.disabled = 0;

    hent værdierne dbid,sprog,forkort fra linket,
    split dem op og skriv dem til formfelter hhv.
    dbid,sprog,forkort
    }
    currentpane += 1
    }
///javascript slut///

LAYER 2
<input id=\"dbid\" type=\"hidden\" value=\"\">
<input id=\"sprog\" type=\"text\" value=\"\">
<input id=\"forkort\" type=\"text\" value=\"\">
<button onClick=\"goRediger();\" value=\"Go\">

Felter er ikke indesluttet i et formelement da goRediger(); er en validerings rutine

Hvorledes skal funktionen goRed() fuldføres ?
Avatar billede olebole Juniormester
28. september 2000 - 16:05 #1
<ole>
Er det fordi, du ikke kan programmere - eller fordi, du er ligeglad med, hvormange brugere du taber, at du ikke programmerer X-browser efter standarderne?

Du kan f.eks. ikke have form-elementer som <input type=\"text\"> udenfor en form - KUN i IE, fordi den heller ikke kender HTML-standarden!
Dine kald til lag er også KUN forståelige af IE!
/mvh
</bole>
Avatar billede el_gnu Nybegynder
28. september 2000 - 16:23 #2
olebole => lidt negativ i dag :-)
Avatar billede trylmand Nybegynder
28. september 2000 - 16:29 #3
Olebole, Dine bemærkninger er mig ikke ubekendte men, det er en prototype.
X må hajerne tage sig af bagefter.

Dette selvfølgeligt under det forbehold at du kunne finde på at shippe den korrekte kode, men
spørgsmålet er, hvordan fuldføres kaldet ?
Avatar billede olebole Juniormester
29. september 2000 - 03:29 #4
el_gnu >> Næhhh...bare nysgerrig  ;o))

trylmand >> Det glæder mig overordentlig meget, du kender de bemærkninger.
Så kender du formodentlig også min holdning om, at prototyper laver man i NS, da de så er så nemme at gøre X-browser bagefter.
Du ved sikkert så også, at jeg anser det for et forsøg fra MS\'s side på at monopolisere markedet - at lave en frygtelig fejl-tolerant browser, så alle synes NS er noget skod, når deres sider ikke virker der - trods NS blot overholder standarden langt bedre.
Jeg anser også dette for en væsentlig årsag til, at det har været så vanskeligt at få standardiseret web-programmeringen til skade for brugerne og besvær for os.

Men da du nu ved alt det - og jeg meget nødig vil have, det her skal komme til at ligne noget ideologisk - vil jeg overhovedet ikke nævne det med et eneste ord, men gøre mit svar ganske kort (...gnæk,gnæk!).

Det kan gøres efter denne opskrift:

<html>
<head>
<script language=\"JavaScript\">
<!--
var ns = (document.layers)? true : false ;
var ie = (document.all)? true : false ;
function goRed(which) {
    doc1 = (ns)? document.layers[\'lag1\'].document : document.all[\'lag1\'].document;
    doc2 = (ns)? document.layers[\'lag2\'].document : document;
    myQuery = doc1.links[which-1].search+\"\";
    myQuery = myQuery.substring(1,myQuery.length);
    for (i=0; i<3; i++) {
        if (myQuery.indexOf(\'&\') != -1) {
            str = myQuery.substring(myQuery.indexOf(\'=\')+1,myQuery.indexOf(\'&\'));
        }else{
            str = myQuery.substring(myQuery.indexOf(\'=\')+1,myQuery.length);
        }
        doc2.f.elements[i].value = str;
        myQuery = myQuery.substring(myQuery.indexOf(str)+str.length+1,myQuery.length);
    }
}

// -->
</script>
<style type=\"text/css\">
<!--
#lag1 { position:absolute; left:50px; top:50px }
#lag2 { position:absolute; left:250px; top:50px }
-->
</style>
</head>
<body marginheight=0 marginwidth=0 leftmargin=0 topmargin=0>

<div id=\"lag1\">
<p><a href=\"1.asp?noget=nog1&andet=and1&tredie=tre1\">Link 1</a></p>
<p><a href=\"2.asp?noget=nog2&andet=and2&tredie=tre2\">Link 2</a></p>
<p><a href=\"3.asp?noget=nog3&andet=and3&tredie=tre3\">Link 3</a></p>
<p><a href=\"4.asp?noget=nog4&andet=and4&tredie=tre4\">Link 4</a></p>
</div>

<div id=\"lag2\">
<form name=\"f\">
noget:<br>
    <input type=\"text\" name=\"noget\"><br><br>
andet:<br>
    <input type=\"text\" name=\"andet\"><br><br>
tredie:<br>
    <input type=\"text\" name=\"tredie\"><br><br>
    <input type=\"button\" value=\" Go Link 1 \" onClick=\"goRed(1);\"><br>
    <input type=\"button\" value=\" Go Link 2 \" onClick=\"goRed(2);\"><br>
    <input type=\"button\" value=\" Go Link 3 \" onClick=\"goRed(3);\"><br>
    <input type=\"button\" value=\" Go Link 4 \" onClick=\"goRed(4);\"><br>
</form>
</div>

</body>
</html>

Bemærk, at det her ikke fungerer i NS6! Jeg kan ikke huske, hvordan den har det med lag og forms - og jeg har ikke lige tid til at teste nu. Du skal dog formodentlig  kalde med \'document.getElementById(id)\'.
/mvh

PS: Husk mig lige på, jeg en dag fortæller dig historien om, at det var folkene bag NS, der var de første, der lavede en brugbar browser til internettet, som vi kender det idag - jeg vil så nødigt have ry for indædt at kæmpe for en speciel browser her på Eksperten!
Avatar billede olebole Juniormester
29. september 2000 - 03:29 #5
*LOL*  :oD))
Avatar billede trylmand Nybegynder
29. september 2000 - 08:43 #6
Som jeg har hørt den lavede Marc Andreesen og Eric Bina den første version af Mosaic (der  som den første viste billeder, dog i seperate vinduer) mens de arbejdede hos NCSA. Browseren var inspireret af Unix browseren ViolaWWW, der igen var en videreudvikling af WorldWideWeb (Tim Berner Lee) browseren til NExT platform, hvis største problem var at hyperlinks kun fungerede når browseren kørte på NExT.

Anyway, da Mosaic blev released i 1993 får den en vækstrate på 341647%. Dvs en måned så bruger alle den. Marc Andreessen lugter penge, forlader NSCA og stiftede virksomheden Mosaic Super Computing, der fremstillede og solgte browsere.  Han må dog hurtigt ændre navnet til Netscape da NCSA har ophavsrettigheden til Mosaic navnet. Han lukrerer dog nok på det til at Netscape 1.0 sælges i 500.000 eksemplarer indenfor den første måned.

Imellemtiden sidder en anden fyr hos NCSA, Douglas P Colbeth. Han køber rettighederne til Mosaic navn og teknologien hos NSCA. Stifter i 1995 virksomheden SpyGlass og sælger Mosaic på en 5 årig licens til Microsoft for den nette sum af $20. mio. En licens, der blev fornyet sidste år.

Microsoft vælger i 1997 at distribuere sin browser gratis, hvilket får Netscape til at følge efter så -
NSCA fremstillede den første brugbare browser til internettet og folkene bag såvel Netscape og IE var involveret i det.

Når det nu er på plads, så fungerer din kode udmærket, jeg kunne bare ønske mig at værdierne til formfeltet blev overført direkte fra linket til formfeltet ved tryk på linket altså -

lag 1. Tryk på det sprog du ønsker at redigere => lag 1. skjules og lag 2 vises med værdier indført i formfeltet.

Kan det lade sig gøre ?
Avatar billede olebole Juniormester
29. september 2000 - 10:02 #7
Det hele var nu en joke (måske lidt inside med gnu\'en, der plejer at kalde mig The NetScape Warrior) ;o)
Historien minder iøvrigt i store træk om den, jeg også har hørt.
Stadig med forbehold for NS6:

<html>
<head>
<script language=\"JavaScript\">
<!--
var ns = (document.layers)? true : false ;
var ie = (document.all)? true : false ;
function goRed() {
    obj1 = (ns)? document.layers[\'lag1\'] : document.all[\'lag1\'];
    obj2 = (ns)? document.layers[\'lag2\'] : document.all[\'lag2\']; 
    doc2 = (ns)? document.layers[\'lag2\'].document : document;
    args = goRed.arguments;
    for (i=0; i<args.length; i++) {
        doc2.f.elements[i].value = args[i];
    }
    if (ns) {
        obj1.visibility = \"hide\";
        obj2.visibility = \"show\";
    } else {
        obj1.style.visibility = \"hidden\";
        obj2.style.visibility = \"visible\";
       
    }
}
// -->
</script>
<style type=\"text/css\">
<!--
#lag1 { position:absolute; left:50px; top:50px; visibility:visible;  }
#lag2 { position:absolute; left:50px; top:50px; visibility:hidden; }
-->
</style>
</head>
<body marginheight=0 marginwidth=0 leftmargin=0 topmargin=0>

<div id=\"lag1\">
<p><a href=\"java script:goRed(\'nog1\',\'and1\',\'tre1\');\">Link 1</a></p>
<p><a href=\"java script:goRed(\'nog2\',\'and2\',\'tre2\');\">Link 2</a></p>
<p><a href=\"java script:goRed(\'nog3\',\'and3\',\'tre3\');\">Link 3</a></p>
<p><a href=\"java script:goRed(\'nog4\',\'and4\',\'tre4\');\">Link 4</a></p>
</div>

<div id=\"lag2\">
<form name=\"f\">
noget:<br>
    <input type=\"text\" name=\"noget\"><br><br>
andet:<br>
    <input type=\"text\" name=\"andet\"><br><br>
tredie:<br>
    <input type=\"text\" name=\"tredie\"><br><br>
</form>
</div>

</body>
</html>

/mvh
Avatar billede trylmand Nybegynder
29. september 2000 - 13:11 #8
Det virker dælen dyle,
tak skal du ha olebole
pointene er dine.

mvh
Trylmand

ps. det med browserkrigene er lidt af en hobby
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