Is wrote:
[snip]
> Jeg vil tjekke nogle data fra en form inden der åbnes og sendet til
> databasen,
>
[snip]
> tjekket virker så længe omtalte tjek ser sådan ud :
>
> if((document.forms[0].hfd.value=='') && (document.forms[0].hfm.value=='') &&
> (document.forms[0].hfy.value==''))
> {
> document.forms[0].error.value = "ingen data 1"
> confirm (' msg tekst ');
> }
>
> ---
> jeg kan også få lov til at sætte if foran ,
> ---
> if((document.forms[0].hfd.value=='') && (document.forms[0].hfm.value=='')
> && (document.forms[0].hfy.value==''))
> {
> document.forms[0].error.value = "ingen data 1"
> if( confirm (' msg tekst '));
> }
> ---
> men hvis jeg laver den som jeg gerne vil ha,
> ---
> if((document.forms[0].hfd.value=='') && (document.forms[0].hfm.value=='')
> && (document.forms[0].hfy.value==''))
> {
> document.forms[0].error.value = "ingen data 1"
> if( confirm (' msg tekst '));
Du skal slettes ';' sidst i ovenstående linje.
> {
> }
> else
> {
> document.forms[0].hfd.focus();
> }
> }
> ---
> Så er der en "syntaksfejl"
>
> Hvad er de galt ????
if( confirm('...') );
betyder hvis der er trykker på ok - så gør absolut ingenting
for når du sætter ';' afslutter du 'if'-sætningen.
Syntaksen for en if sætning ser vel egentlig nogenlunde sådan her ud;
if(exp)statement1;|{statlist}[else statement2|{statlist}]
statlist = statement[;statlist]
hvor exp er en betingelse og statement 1 er det der udføres hvis exp er
true, og statement2, hvis den er angivet, er det er udføres hvis exp er
false.
Den tomme streng er også en gyldig statement, og det er den du har
angivet ovenfor som statement1 med dit ';'.
Ja, det blev lidt rodet forklaret, men jeg håber du forstår hvad jeg mener.
>
>
>>"confirm" er en funktion, der returnerer true eller false, afhængig af
>>om der er trykket på "ok" eller på "annuller".
>
> ---
> fint nok, jeg trode at de retunerede en værdi afhængig af hvilken knap det
> blev trykket på, og så derefter skulle til at spørge hvis 1 så... hvis 2
> så.. eller noget i den retning..
>
> Men hvis du skriver :
> funktion, der returnerer true eller false,
>
> så burde det vel være nok at skrive:
Jep. (Hvis du sletter det der ';' du har for meget ihvertfald).
>
> if((document.forms[0].hfd.value=='') && (document.forms[0].hfm.value=='') &&
> (document.forms[0].hfy.value==''))
> {
> document.forms[0].error.value = "ingen data 1"
> if( confirm (' msg tekst '));
>
>
> fordi når jeg vælger ok vil true blive returneret, og koden vil fortsætte,
> trykkes annuller, så returneres false og koden vil blive stoppet, der vil
> dog så mangle focus, men det kunne brugeren så selv finde ???
>
Spørger du mig om brugeren selv kan finde fokus? Det ved jeg da virkelig
ikke - jeg kender ikke dine brugere
Men hvis du spørger mig om koden fortsætter så hvis der trykker ok - så
'Ja'.
MVH Per Thomsen,
http://www.pert.dk/