/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Hvad gør man ved lange ubrudte linier indt~
Fra : Jakob Munck


Dato : 18-08-01 09:07

Jeg har en lille forening, hvor medlemmerne skal indtaste deres data i en
formular. En gang imellem kommer der nogle spøgefugle og indtaster 400 x-er
i en ubrudt linie efter hinanden, eller måske en masse streger.

Eks:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx

----------------------------------------------------------------------------
----------------------------------------------------------------------------
------------------


Problemet er, at disse indtastninger ødelægger designet af de udskrivninger,
som brugerne skal kunne læse, da browseren opfatter linierne som ét langt
ord, og derfor ikke ombryder dem. Men hvad gør man så, hvis man vil bevare
et rimeligt udseende af det, der vises på skærmen?

Findes der Java-kode, der kan forhindre indtastning af "ord", der er længere
end en given længde (f.eks. 20 karakterer), eller er der en anden løsning?


v.h.
Jakob Munck



 
 
Kasper Damkjær (18-08-2001)
Kommentar
Fra : Kasper Damkjær


Dato : 18-08-01 10:17

"Jakob Munck" <jakob.munck@email.dk> wrote in
news:9ll7dg$qn9$1@news.cybercity.dk:

> Jeg har en lille forening, hvor medlemmerne skal indtaste deres data i
> en formular. En gang imellem kommer der nogle spøgefugle og indtaster
> 400 x-er i en ubrudt linie efter hinanden, eller måske en masse
> streger.
>
> Eks:
>
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxx xxxxxxxxxxxxxxxxxxxxx
>
> ------------------------------------------------------------------------
> ----
> ------------------------------------------------------------------------
> ---- ------------------
>
>
> Problemet er, at disse indtastninger ødelægger designet af de
> udskrivninger, som brugerne skal kunne læse, da browseren opfatter
> linierne som ét langt ord, og derfor ikke ombryder dem. Men hvad gør
> man så, hvis man vil bevare et rimeligt udseende af det, der vises på
> skærmen?
>
> Findes der Java-kode, der kan forhindre indtastning af "ord", der er
> længere end en given længde (f.eks. 20 karakterer), eller er der en
> anden løsning?

Hvis du i dit <textarea> skriver WRAP="PHYSICAL", så ombrydes lange linier
både i formularen og også i den efterfølgende behandling.

--
Kasper Damkjær
http://damkjaer.net

Jakob Munck (18-08-2001)
Kommentar
Fra : Jakob Munck


Dato : 18-08-01 16:31

Tak for det !

jm



Jakob Munck (18-08-2001)
Kommentar
Fra : Jakob Munck


Dato : 18-08-01 16:51

Nu har jeg så testet det, og det virker ikke. Jeg har skrevet html-koden for
formularens "textarea" sådan::


<textarea cols="44" rows="14" name="beskrivdigselv"
WRAP="PHYSICAL"></textarea>


og det gør absolut ingen forskel. Lange ord ombrydes stadig ikke. Er koden
rigtig?


v.h.
Jakob Munck




Simon Mikkelsen (18-08-2001)
Kommentar
Fra : Simon Mikkelsen


Dato : 18-08-01 19:10

D. Sat, 18 Aug 2001 17:50:47 +0200 syntes "Jakob Munck"
<jakob.munck@email.dk> at dk.edb.internet.webdesign.clientside skulle vide
at <9lm2jt$2528$1@news.cybercity.dk>.

>Nu har jeg så testet det, og det virker ikke. Jeg har skrevet html-koden for
>formularens "textarea" sådan::
>
><textarea cols="44" rows="14" name="beskrivdigselv"
>WRAP="PHYSICAL"></textarea>
>
>og det gør absolut ingen forskel. Lange ord ombrydes stadig ikke. Er koden
>rigtig?

Koden er rigtig, men ombryder kun tekst ved 'white spaces', dvs. de tegn
der ikke kan ses. Det er fx. mellemrum, tabultor og naturligvis ny-linie.

Det kan sagtens lade sig gøre at lave en løsning i javascript, men så skal
folk bare slå javascript fra i deres browser, og så kan de lave rav i den
igen.

Hvis du har mulighed for en server-side løsning, fx. i Perl eller PHP (evt.
en som en udvidelse af det script der modtager det indsendte og viser det),
ville det være langt det bedste.

--
Mvh. Simon Mikkelsen, ingeniørstuderende

www.zipstat.dk Gratis, reklamefri tæller/statistik til enhver hjemmeside
-Se bla. hvor dine besøgende kommer fra, og brug den usynlige tællerkode.

Jakob Munck (18-08-2001)
Kommentar
Fra : Jakob Munck


Dato : 18-08-01 20:58

Jeg er egentlig mest stemt for at teste for disse lange linier allerede før
formularen indsendes, så hvis jeg kan finde noget Java-script der gør det
ved evalueringen af formresultatet, så er det det bedste.

Men hvor finder jeg denne Java-kode?

v.h.
Jakob Munck



Simon Mikkelsen (19-08-2001)
Kommentar
Fra : Simon Mikkelsen


Dato : 19-08-01 19:48

D. Sat, 18 Aug 2001 21:57:32 +0200 syntes "Jakob Munck"
<jakob.munck@email.dk> at dk.edb.internet.webdesign.clientside skulle vide
at <9lmh28$30h3$1@news.cybercity.dk>.

>Jeg er egentlig mest stemt for at teste for disse lange linier allerede før
>formularen indsendes, så hvis jeg kan finde noget Java-script der gør det
>ved evalueringen af formresultatet, så er det det bedste.
>
>Men hvor finder jeg denne Java-kode?

Jeg har lige lavet denne:

<form action=http://www.zip.dk method=get name=formmular>
<textarea cols=30 rows=5 name=tekst>
</textarea>
<br>

<input value="Send 1" type=button onclick="var forLangt = /[^\s]{10,}/; if
(forLangt.test(formmular.tekst.value)){ alert('Der er et ord der er for
langt!'); } else { formmular.submit(); }">
<input value="Send 2" type=button onclick="var erstat = /([^\s]{7})/g;
formmular.tekst.value = formmular.tekst.value.replace(erstat, '$1 ');
formmular.submit();">

</form>


Bemærk formullaren og tekstarea'ets navn - hvis dette ændres skal skal det
også ændres i scriptet.

Formullaren kan kun indsendes hvis vedkommende har javascript, dog også
hvis js er slået fra, der er et tekstfelt og browseren tager et enter som
besked på at indsende.


Første knap indsender kun hvis der ikke er ord der er længere end 10 tegn
(10-tallet kan altså ændres). Hvis en form ikke kan indsendes, får man en
besked.

Anden knap indsætter et mellemrum for hvert 10. tegn, hvis der er ord der
er længere end 10 tegn. Derefter indsendes formmularen.

Den ene knap kan slettes.


Jeg håber det kan bruges.

--
Mvh. Simon Mikkelsen, ingeniørstuderende

www.zipstat.dk Gratis, reklamefri tæller/statistik til enhver hjemmeside
-Se bla. hvor dine besøgende kommer fra, og brug den usynlige tællerkode.

Jakob Munck (20-08-2001)
Kommentar
Fra : Jakob Munck


Dato : 20-08-01 08:06


Hej Simon

mange tak for din javakode, som virker helt fint, når det drejer sig om
netop den formular, som du har lavet det til. Men jeg har en længere
formular med et længere java-script til at evaluere indtastningerne, og
koden til at undgå lange ord, skal gøres til en del af dette java-script, da
jeg ikke tør arbejde med 2 forskellige scripter. Det er for uoverskueligt.

Du kan se det fulde java-script herunder, og jeg har forsøgt at indsætte din
kode nederst, mellem de 2 rækker af 7-taller.

Her får jeg en fejlmelding, der siger "tegnet ')' var ventet".

Jeg tror, at der kun skal en lille ændring til, så virker det. Men hvilken
ændring?


v.h.
Jakob Munck



----------------------------------------------------------------------------
--------------------
<SCRIPT LANGUAGE=javascript>

function submitForm() {
if (CheckFile())
document.forms[0].submit();
}
function CheckFile() {
if (self.window.document.indmeldelse.rigtignavn.value.length <= 5) {
self.window.alert("Du skal skrive dit fulde navn !");
return false;
}
if (self.window.document.indmeldelse.rigtignavn.value.length >= 26) {
self.window.alert("Navnet må højest være på 25 bogstaver !");
return false;
}
var p = this.document.indmeldelse.rigtignavn.value;
if (p.indexOf(" ") <= 0) {
self.window.alert ("Du skal skrive både fornavn og efternavn !") ;
return false;
}
if (self.window.document.indmeldelse.brugernavn.value.length <= 3) {
self.window.alert("Du skal vælge et brugernavn med mindst 4 karakterer
!");
return false;
}
if (self.window.document.indmeldelse.brugernavn.value.length >= 13) {
self.window.alert("Brugernavnet må højest have på 12 karakterer !");
return false;
}
var p = this.document.indmeldelse.brugernavn.value;
if (p.indexOf("/")>= 0||p.indexOf("æ")>= 0||p.indexOf("ø")>=
0||p.indexOf("å")>= 0||p.indexOf("_")>= 0||p.indexOf("-")>=
0||p.indexOf(".")>= 0||p.indexOf("@")>= 0||p.indexOf("*")>=
0||p.indexOf("?")>= 0||p.indexOf(" ") >= 0) {
self.window.alert ("Der må kun være tal og bogstaver (a-z, A-Z) i dit
brugernavn !") ;
return false;
}
if (self.window.document.indmeldelse.kodeord.value.length <= 3) {
self.window.alert("Du skal vælge et kodeord (4-14 karakterer) !");
return false;
}
if (self.window.document.indmeldelse.kodeord.value.length >= 15) {
self.window.alert("Kodeordet må højest være på 14 karakterer !");
return false;
}
var p = this.document.indmeldelse.email.value;
if (p.indexOf("@")==-1||p.indexOf(".")==-1||p == ""||p.indexOf(" ") >= 0)
{
self.window.alert ("Din email er forkert !") ;
return false;
}
if (self.window.document.indmeldelse.beskrivdigselv.value.length <= 100) {
self.window.alert("Du skal lave en bedre beskrivelse af dig selv (min.
100 kar.) !");
return false;
}
if (self.window.document.indmeldelse.beskrivdigselv.value.length >= 1000)
{
self.window.alert("Selvbeskrivelsen må højest fylde 1000 karakterer !");
return false;
}

777777777777777777777777777777-

var p = this.document.indmeldelse.beskrivdigselv.value;

if (p = /[^\s]{20,}/;) {
self.window.alert ("Ingen ord må være længere end 20 karakterer !") ;
return false;
}

77777777777777777777777777777

return true;
}
</SCRIPT>
----------------------------------------------------------------------------
----------------------------------



Niels Henriksen (20-08-2001)
Kommentar
Fra : Niels Henriksen


Dato : 20-08-01 10:51

"Jakob Munck" <jakob.munck@email.dk> wrote in message
news:9lqcju$fb9$1@news.cybercity.dk...

> mange tak for din javakode, som virker helt fint, når det drejer sig om
Java er ikke det samme som JavaScript...



Jakob Munck (20-08-2001)
Kommentar
Fra : Jakob Munck


Dato : 20-08-01 11:45

Jeg er klar over, at java og Javascript ikke er det samme, men nu er det så
slået fast en gang mere.

Spørgsmålet er bare: Hvordan revideres min Javascript-kode, så den også
tester for lange ord (uden at give fejlmelding)???


v.h.
Jakob Munck



Jakob Munck (20-08-2001)
Kommentar
Fra : Jakob Munck


Dato : 20-08-01 16:56

Så lykkedes det for mig at få tilpasset Simons Javascript-kode, og det
virker bare helt fint.

Mange tak for hjælpen !


v.h.
Jakob Munck



Allan Vebel (21-08-2001)
Kommentar
Fra : Allan Vebel


Dato : 21-08-01 00:05

Jakob Munck <jakob.munck@email.dk> skrev

> Mange tak for hjælpen !

Hej Jakob!
Igen vil jeg bede dig om at lade være med at lave om på emnelinien. I denne
tråd har du gjort det hele 5 gange - og det er pisseirriterende at hitte
rede i.

Jeg har omtalt det før nogle gange - og du har også fortalt at du vil lade
være, men du gør det alligevel.

Hvis du vil have hjælp fra seriøse folk, så tag imod de små vink om god
usenetskik

Læs eventuelt <http://www.usenet.dk/netikette/quote.html> for yderligere
oplysninger.

Fut: news:dk.admin.netikette

--
Allan



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408945
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste