/ 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
To JavaScripts i en form, hvad er løsninge~
Fra : Jakob Munck


Dato : 22-06-04 10:59

Jeg har en søgeformular, som skal evalueres, så det sikres at brugerne
skriver noget ind, før de søger. Det virker udmærket, og laves af det første
af nedenstående javascripts. Men samtidig vil jeg også gerne have, at
markøren altide er klar og blinker i søgefeltet, så brugeren pr. automatik
skriver tekst ind her. Det plejer jeg at klare v.hj.a. et andet javascript,
som står efter formen. Men problemet er bare, at kun det første af disse
javascripts vil virke, hvilket betyder at den evaluerer indtastning, men at
den ikke viser blinkende markør. Og det er jeg ked af.

Her er moden med javascripts og form:

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

<SCRIPT LANGUAGE=javascript>
function submitForm() {
if (CheckFile())
document.forms[0].submit();
}
function CheckFile() {
if (self.window.document.soegning.keyword.value.length < 2) {
self.window.alert("Du skal skrive et søgeord!");
return false;
}
return true;
}
</SCRIPT>

<form method="GET" name="soegning" action="search_medlemmer.asp"
target="_self" onSubmit="return CheckFile();">
Søgning:
<br>
<input type="text" name="keyword" size="22"><br>
<br><br>
<input type="submit" value="&nbsp;Søg&nbsp;" name="soegeord">
</form>

<script language="JavaScript">
document.soegning.soegeord.focus();
</script>
---------------------------------

Hvordan får jeg det sidste script til at virke? Skal det skrives ind i det
første, og - hvis det er nødvendigt - hvordan gør jeg så det?

v.h.
Jakob Munck



 
 
Lasse Reichstein Nie~ (22-06-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 22-06-04 11:22

"Jakob Munck" <j.munck_fjern_dette@webspeed.dk> writes:

> Jeg har en søgeformular, som skal evalueres, så det sikres at brugerne
> skriver noget ind, før de søger.

Det kaldes oftest "valideres", måske fordi det gode danske
"gyldighedstestning" ikke er så mundret :)

> Det virker udmærket, og laves af det første
> af nedenstående javascripts.

> Men samtidig vil jeg også gerne have, at
> markøren altide er klar og blinker i søgefeltet,

Altid? Mener du at den også skal stå der efter at du har forsøgt at
submitte og er blevet stoppet? Som koden er nu vil feltet kun få fokus
når siden åbnes ... hmm og fokus er på submit-knappen, ikke
input-feltet..

> så brugeren pr. automatik skriver tekst ind her. Det plejer jeg at
> klare v.hj.a. et andet javascript, som står efter formen.

Og det virker ... en gang.

> <SCRIPT LANGUAGE=javascript>

Brug
<script type="text/javascript">
"type"-attributten er påkrævet i HTML 4 og er altid tilstrækkelig.

> function submitForm() {
> if (CheckFile())
> document.forms[0].submit();
> }

Den funktion (submitForm) bruges vist ikke længere.

> function CheckFile() {
> if (self.window.document.soegning.keyword.value.length < 2) {

Overkill!

I Javascript er globale variable gemt som egenskaber i det "globale
objekt". Både "self", "window" og "document" er globale variable, og
"self" og "window" der refererer selv til det globale objekt. Så
document
er det samme som
window.document
og
self.document
og
self.window.document
og
window.self.document
og
window.window.self.self.window.document

> self.window.alert("Du skal skrive et søgeord!");
> return false;
> }
> return true;
> }

Ikke særlig pænt formatteret :)

Prøv det her:

function focusElement() {
document.forms['soegning'].elements['keyword'].focus();
}
function checkFile() {
if (document.forms['soegning'].elements['keyword'].value.length < 2) {
alert("Du skal indtaste et søgeord!");
focusElement(); // her fokuserer du igen!
return false;
}
return true;
}

> </SCRIPT>
>
> <form method="GET" name="soegning" action="search_medlemmer.asp"
> target="_self" onSubmit="return CheckFile();">

target="_self" er unødvendigt Med mindre du har et <base>-element på
siden er "_self" default target.

> <script language="JavaScript">
> document.soegning.soegeord.focus();

og husk at lave det til
focusElement();
her.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Jakob Munck (22-06-2004)
Kommentar
Fra : Jakob Munck


Dato : 22-06-04 14:53

Tusind tak for alle kommentarerne. Jeg har løst problemet med markøren, men
kan se at der er mange andre ting, som jeg også bør rette. Jeg går i gang
med arbejdet.

v.h.
Jakob Munck



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

Månedens bedste
Årets bedste
Sidste års bedste