Avatar billede jeep Nybegynder
03. marts 2001 - 21:00 Der er 12 kommentarer og
1 løsning

Cursoren ryger tilbage til slut i tekstboksen

Hej på Eksperten

Jeg har et problem med min tekstboks, når jeg vil redigere i det jeg har skrevet i boksen ryger cursoren altid tilbage til slut. Hvorfor?

<script language=\"JavaScript\">
// Tekstens maksimale længde
MaxLength = 350

function CheckTegn1()
{
    document.zc.MaxTegn1.value = MaxLength - document.zc.S1.value.length
    if (document.zc.S1.value.length > MaxLength)
    alert(\"Du må max bruge 350 tegn!\");
   
    if (document.zc.S1.value.length > MaxLength)
    document.zc.MaxTegn1.value=0;

      var tempostreng=\"\";
    for(i=0;i<350;i++)
    tempostreng+=document.zc.S1.value.substring(i, i+1);
    document.zc.S1.value=tempostreng;
}
</script>

Hilsen Jeep
Avatar billede olebole Juniormester
03. marts 2001 - 21:06 #1
<ole>
Det skal den. Hvad ville du gerne have?
/mvh
</bole>
Avatar billede jeep Nybegynder
03. marts 2001 - 21:11 #2
Hvis jeg har skrevet en tekst og glemte et ord kan jeg ikke sætte det ind uden at begynde forfra. Kan man ikke lave det anderledes?

Jeep
Avatar billede hoejrup Nybegynder
03. marts 2001 - 21:13 #3
Du har skrevet denne linie to gange:

if (document.zc.S1.value.length > MaxLength)

I linie 2 burde der ikke stå

if (document.zc.S1.value.length =< MaxLength)

/per
Avatar billede hoejrup Nybegynder
03. marts 2001 - 21:16 #4
Dvs.

<script language=\"JavaScript\">
// Tekstens maksimale længde
MaxLength = 350

function CheckTegn1()
{
                              document.zc.MaxTegn1.value = MaxLength - document.zc.S1.value.length
if (document.zc.S1.value.length > MaxLength)
  alert(\"Du må max bruge 350 tegn!\");
                               
if (document.zc.S1.value.length =< MaxLength)
  document.zc.MaxTegn1.value=0;

  var tempostreng=\"\";
  for(i=0;i<350;i++)
  tempostreng+=document.zc.S1.value.substring(i, i+1);
document.zc.S1.value=tempostreng;
}
</script>

/per
Avatar billede jeep Nybegynder
03. marts 2001 - 21:28 #5
Det virker, men så tæller boksen med antallet af tegn tilbage ikke ned. Kan du ikke lige uddyde spørgssmålet (I linie 2 burde der ikke stå, mener du skal stå
Jeep
Avatar billede jeep Nybegynder
03. marts 2001 - 21:33 #6
Man kan blive ved med at skrive, den stopper heller ikke ved 350
Jeep

Avatar billede hoejrup Nybegynder
03. marts 2001 - 21:39 #7
Hvis der står

if (document.zc.S1.value.length > MaxLength)

så skal den lave en advarsel om ad du overskriver maksimum. Derefter anvender du den samme sætning igen:

if (document.zc.S1.value.length > MaxLength)

Det vil sige at når du overskrider maksimum, så skal du foretage en behandling af strengen. Er det ikke lidt ulogisk?

Har du prøvet at ændre

for(i=0;i<350;i++)

til for(i=0;i<350;++i)

/per
Avatar billede jeep Nybegynder
03. marts 2001 - 21:48 #8
Det hjalp ikke at ændre

for(i=0;i<350;i++)

til for(i=0;i<350;++i)

Er det ikke muligt at lave det sådan den både advare om max tekst og tæller ned. Som den gør nu

Hvordan giver man flere point hvis det virker?

Jeep
Avatar billede jeep Nybegynder
03. marts 2001 - 23:53 #9
Sådan nu er point forhøjet ( er ny her )
Jeep
Avatar billede hoejrup Nybegynder
04. marts 2001 - 08:16 #10
Du kan sætte en else ind i scriptet:

<script language=\"JavaScript\">
// Tekstens maksimale længde
MaxLength = 350

function CheckTegn1()
{
document.zc.MaxTegn1.value = MaxLength - document.zc.S1.value.length
if (document.zc.S1.value.length > MaxLength)
  alert(\"Du må max bruge 350 tegn!\"); }
 
else {
  document.zc.MaxTegn1.value=0;

  var tempostreng=\"\";
  for(i=0;i<350;i++)
  tempostreng+=document.zc.S1.value.substring(i, i+1);
document.zc.S1.value=tempostreng;
}
</script>

/per
Avatar billede jeep Nybegynder
04. marts 2001 - 12:41 #11
Det virkede heller ikke.
Hvad gør jeg så hvis jeg kun vil lave en nedtællingsboks?

Og flytter max tegn til dette: (Det virker når folk trykker på knappen)

function Validator(zc)
{   
   
    TempString = zc.S1.value     
    if (TempString.length > 350)
  {
    alert(\"\'Beskrivelse\' var større end 350 tegn!\");
    zc.S1.focus();
    return (false);
  }

Avatar billede jeep Nybegynder
04. marts 2001 - 17:26 #12
Nu har jeg fået det til at virke. Jeg skulle bare fjerne

var tempostreng=\"\";
    for(i=0;i<350;i++)
    tempostreng+=document.zc.S1.value.substring(i, i+1);
    document.zc.S1.value=tempostreng;

så virkede det

Jeep
Avatar billede jeep Nybegynder
04. marts 2001 - 17:28 #13
Tak fordi fordi du prøvede at hjælpe Højrup, så du dine point som tak for hjælpen

Jeep
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