Avatar billede Slettet bruger
20. april 2003 - 13:33 Der er 7 kommentarer og
1 løsning

lægge teksten ind i andet felt mens der indtastes i første felt

Hej!

Simpelt:

jeg indtaster tekst i feltet txtLinkAddress og denne skal ved hver ændring af teksten (indtastning, backspace osv) overføres til txtLinkName.

Jeg har forøsgt mig med dette her, men det er som om der er "forsinkelse" på, så ændringen sker en gang for sent.


<SCRIPT>
function tjekType() {
    if (document.all.txtLinkType.selectedIndex==1) {
    // det er et link
        document.all.txtLinkName.value = document.all.txtLinkAddress.value;
    }
}

</SCRIPT>

<select name="txtLinkType">
<option value="http://">http://</option>
<option value="mailto:">mailto:</option>
</select><INPUT onkeypress="tjekType()" type=text style="width:100%" name="txtLinkAddress" tabIndex=15 onfocus="select()">
Avatar billede Slettet bruger
20. april 2003 - 13:56 #1
if (document.all.txtLinkType.selectedIndex==0)//Så er det et link
    if (document.all.txtLinkType.selectedIndex==1)//Så er det en emailadresse!
Avatar billede Slettet bruger
20. april 2003 - 13:59 #2
Ja ok, men det ændrer jo ikke noget. Der skulle have stået // det er en email i stedet for // det er et link.

Som sådan fungerer det jo fint, der er bare forsinkelse på, så ændringen først sker næste gang man trykker på en tast.
Avatar billede Slettet bruger
20. april 2003 - 14:00 #3
Hvad med:
onchange="tjekType()"
Avatar billede Slettet bruger
20. april 2003 - 14:48 #4
Den skulle have en onkeyup og en onchange.

Men nu er mit andet problem at jeg kun vil overføre værdien hvis man ikke har ændret det andet felt.

Lidt svært at forklare, men det her kan jeg ikke få til at virke (selvom det burde løse mit problem):

<INPUT onfocus="if(this.value == document.all.txtLinkName.value) { document.all.txtLinkAddress.onchange.value='tjekType()'; document.all.txtLinkAddress.onkeyup.value='tjekType()'; }" type="text" onkeyup="" onchange="" style="width:100%" name="txtLinkAddress" tabindex="1" onfocus="select()">

Det er som om at man ikke kan ændre onchange og onkeyup værdierne?
Avatar billede Slettet bruger
20. april 2003 - 14:59 #5
Ville det ikke være lettere at gøre tjekType() afhængig af om txtLinkAddress.value==txtLinkName.value ?

function tjekType() {
    if(document.all.txtLinkAddress.value==document.all.txtLinkName.value)
    {//Eventuelt defaultValue i stedet for value i ovenstående!?
        if (document.all.txtLinkType.selectedIndex==1) {
            document.all.txtLinkName.value = document.all.txtLinkAddress.value;
        }
    }
}
Avatar billede Slettet bruger
20. april 2003 - 15:05 #6
Det prøvede jeg også først, men det virker ikke.

Prøv selv at kopiere denne kode og test:

<SCRIPT>
function tjekType() {
    if(document.all.txtLinkAddress.value==document.all.txtLinkName.value) {
        if (document.all.txtLinkType.selectedIndex==1) {
          document.all.txtLinkName.value = document.all.txtLinkAddress.value;
        }
    }
}

</SCRIPT>

<table width="100%" border=1 cellspacing=6 cellpadding=0>
<tr><td nowrap>Link:&nbsp;</td><td><select name="txtLinkType" tabindex="0">
<option value="http://">http://</option>
<option value="mailto:">mailto:</option>
</select></td><td style="width:100%"><INPUT type="text" onfocus="tjekType()" onkeyup="tjekType()" onchange="tjekType()" style="width:100%" name="txtLinkAddress" tabindex="1" onfocus="select()"></td><td><BUTTON style="width:70px" type="button" onclick="btnOKClick()" tabindex="4">OK</BUTTON></td></tr>

<tr><td>Linknavn:&nbsp;</td><td colspan="2"><INPUT type="text" style="width:100%" name="txtLinkName" tabindex="2" onfocus="select()"></td><td><BUTTON style="width:70px" type="button" onClick="window.close();" tabindex="5">Annuler</BUTTON></td></tr>
<tr><td>Åbn i:&nbsp;</td><td colspan="2" width="100%"><SELECT style="width:100%" name="txtLinkTarget" tabindex="3">
<OPTION value="_blank">Nyt vindue</OPTION>
<OPTION value="_self" selected>Samme vindue</OPTION>
</SELECT>
</td></tr>
</table>
Avatar billede Slettet bruger
20. april 2003 - 15:19 #7
Har prøvet at gætte mig lidt til hvad du skal bruge....
--------------------------------------------------------------------
<html>
<head><title>Barto</title></head>
<body>
<SCRIPT>
var changeable = true;
function tjekType() {
    //if(document.all.txtLinkName.value == document.all.txtLinkName.value.substr(0,(document.all.txtLinkName.value.length-1)))
    if(changeable)
        {
        if (document.all.txtLinkType.selectedIndex==1) {
          document.all.txtLinkName.value = document.all.txtLinkAddress.value;
        }
    }
}

</SCRIPT>

<table width="100%" border=1 cellspacing=6 cellpadding=0>
<tr><td nowrap>Link:&nbsp;</td><td><select name="txtLinkType" tabindex="0">
<option value="http://">http://</option>
<option value="mailto:">mailto:</option>
</select></td><td style="width:100%">TEST
<INPUT type="text" onfocus="tjekType()" onkeyup="tjekType()" onchange="tjekType()" style="width:100%" name="txtLinkAddress" tabindex="1" onfocus="select()">
</td>
<td><BUTTON style="width:70px" type="button" onclick="btnOKClick()" tabindex="4">OK</BUTTON></td>
</tr>

<tr>
<td>Linknavn:&nbsp;</td>
<td colspan="2"><INPUT type="text" style="width:100%" name="txtLinkName" onchange="changeable=false;" tabindex="2" onfocus="select()"></td>
<td><BUTTON style="width:70px" type="button" onClick="window.close();" tabindex="5">Annuler</BUTTON></td>
</tr>
<tr><td>Åbn i:&nbsp;</td><td colspan="2" width="100%"><SELECT style="width:100%" name="txtLinkTarget" tabindex="3">
<OPTION value="_blank">Nyt vindue</OPTION>
<OPTION value="_self" selected>Samme vindue</OPTION>
</SELECT>
</td></tr>
</table>
</body>
</html>
Avatar billede Slettet bruger
20. april 2003 - 16:23 #8
Jeg fik mingeleret lidt rundt så det passer til mit behov, her er den endelige løsning som jeg ville have den :)

Tak for hjælpen, det var et skub i den rigtige retning!

<SCRIPT>
var changeable = true;

function initier() {
    if(document.all.txtLinkAddress.value == document.all.txtLinkName.value) {
    changeable = true;
    }
    if(document.all.txtLinkAddress.value != document.all.txtLinkName.value) {
    changeable = false;
    }
}

function tjekType() {
    if(document.all.txtLinkName.value == '') {
    changeable = true;
    }
    if(changeable == true || document.all.txtLinkName.value == '') {
        if (document.all.txtLinkType.selectedIndex==1) {
        document.all.txtLinkName.value = document.all.txtLinkAddress.value;
        }
    }
}

function tjekType2() {
    if(changeable == true || document.all.txtLinkName.value == '') {
        if (document.all.txtLinkType.selectedIndex==1) {
            if(document.all.txtLinkAddress.value!=document.all.txtLinkName.value) {
            var changeable = false;
            }
        }
    }
}

</SCRIPT>

<BODY id=bdy onload="initier();document.all.txtLinkAddress.focus();Init()" style="background: threedface; color: windowtext; BORDER-STYLE: none" scroll=no>

<table width="100%" border=1 cellspacing=6 cellpadding=0>
<tr><td nowrap>Link:&nbsp;</td><td><select name="txtLinkType" tabindex="0">
<option value="http://">webadresse</option>
<option value="mailto:">email</option>
<option value="">intern fil</option>
</select></td><td style="width:100%"><INPUT type="text" onfocus="select();tjekType2()" onkeyup="tjekType()" onchange="tjekType()" style="width:100%" name="txtLinkAddress" tabindex="1"></td><td><BUTTON style="width:70px" type="button" onclick="btnOKClick()" tabindex="4">OK</BUTTON></td></tr>

<tr><td>Linknavn:&nbsp;</td><td colspan="2"><INPUT type="text" style="width:100%" name="txtLinkName" tabindex="2" onblur="initier()" onfocus="select()"></td><td><BUTTON style="width:70px" type="button" onClick="window.close();" tabindex="5">Annuler</BUTTON></td></tr>
<tr><td>Åbn i:&nbsp;</td><td colspan="2" width="100%"><SELECT style="width:100%" name="txtLinkTarget" tabindex="3">
<OPTION value="_blank">Nyt vindue</OPTION>
<OPTION value="_self" selected>Samme vindue</OPTION>
</SELECT>
</td></tr>
</table>
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