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

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
"fang resultatet fra en msgbox"
Fra : Is


Dato : 26-07-03 20:18

Hej

det er ikke lykkedes mig at finde et sted hvor jeg kan se hvordan jeg fanger
resultatet fra en msgbox

jeg har lavet en side, hvor der inden formens indhold sendes til en database
tjekker jeg det med en validering (<script type="text/javascript">) og der
har jeg nogle "alert"... men hvis nu jeg gerne vil kunne fortryde ved
istedet at bruge "confirm"

hvordan fanger jeg valget ??

ved OK : gå videre
ved annuller : document.forms[0].###.focus();

På forhånd tak


--
Venlig hilsen
Erik Isager



 
 
Jens Gyldenkærne Cla~ (26-07-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 26-07-03 20:32

Is skrev i asp-gruppen:

> det er ikke lykkedes mig at finde et sted hvor jeg kan se
> hvordan jeg fanger resultatet fra en msgbox

Prøv at kigge i javascriptgruppen
(<news:dk.edb.internet.webdesign.clientside> - jeg sætter xfut
dertil). Dialogbokse og interaktion med sådanne håndteres i
javascript, ikke i asp.

> jeg har lavet en side, hvor der inden formens indhold sendes
> til en database tjekker jeg det med en validering (<script
> type="text/javascript">) og der har jeg nogle "alert"...
> men hvis nu jeg gerne vil kunne fortryde ved istedet at bruge
> "confirm"

Du kan se et enkelt eksempel på brug af confirm i tråden "Confirm-
popup inden link" (fejlplaceret i asp-gruppen). Hvis du har et
valideringsscript der allerede kører (aktiveres) skal det bare
returnere en sandhedsværdi - og den skal så sendes videre til det
event du kalder den fra:

Så vidt jeg husker er det noget a la:
   <form onsubmit="return validateForm();" ...>

- men det kan også tænkes at være:

<form...>
   <input type="submit" onclick="return validateForm();">


> ved OK : gå videre

Returner true, så sendes formen.

> ved annuller : document.forms[0].###.focus();

Sæt focus i dit validationsscript og returner false.

XFUT: dk.edb.internet.webdesign.clientside (svar på dette indlæg
kan kun ses i nævnte gruppe)
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Is (26-07-2003)
Kommentar
Fra : Is


Dato : 26-07-03 20:59


> XFUT: dk.edb.internet.webdesign.clientside (svar på dette indlæg
> kan kun ses i nævnte gruppe)
--
tak,
jeg kan godt nok ikke se det endnu men det kommer vel .


--
Venlig hilsen
Erik Isager




Is (26-07-2003)
Kommentar
Fra : Is


Dato : 26-07-03 22:47


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns93C4DB1EABF7Bjcdmfdk@gyrosmod.cybercity.dk...
> Is skrev i asp-gruppen:
>
> > det er ikke lykkedes mig at finde et sted hvor jeg kan se
> > hvordan jeg fanger resultatet fra en msgbox
>
> Prøv at kigge i javascriptgruppen
> (<news:dk.edb.internet.webdesign.clientside> - jeg sætter xfut
> dertil). Dialogbokse og interaktion med sådanne håndteres i
> javascript, ikke i asp.
>
> > jeg har lavet en side, hvor der inden formens indhold sendes
> > til en database tjekker jeg det med en validering (<script
> > type="text/javascript">) og der har jeg nogle "alert"...
> > men hvis nu jeg gerne vil kunne fortryde ved istedet at bruge
> > "confirm"
>
> Du kan se et enkelt eksempel på brug af confirm i tråden "Confirm-
> popup inden link" (fejlplaceret i asp-gruppen). Hvis du har et
> valideringsscript der allerede kører (aktiveres) skal det bare
> returnere en sandhedsværdi - og den skal så sendes videre til det
> event du kalder den fra:
>
> Så vidt jeg husker er det noget a la:
> <form onsubmit="return validateForm();" ...>
>
> - men det kan også tænkes at være:
>
> <form...>
> <input type="submit" onclick="return validateForm();">
>
>
> > ved OK : gå videre
>
> Returner true, så sendes formen.
>
> > ved annuller : document.forms[0].###.focus();
>
> Sæt focus i dit validationsscript og returner false.
---
ja nu har jeg fået det til at virke, men kan jeg vende den om ??

Jeg har :
---
if((... ...))
{
confirm (' Der er ikke oplyst ...');
document.forms[0].XXX.focus();
return false;
---
det gør så at trykker jeg ok, ! går den til "XXX" og return false
og trykker jeg annuler , ! fortsætter den videre til næste punkt i
valideringen,

jeg ville gerne det modsatte, hvis annuller : går den til "XXX" og return
false ???

hvis ikke det kan lykkes ? kunne en anden løsning være at focus er på
"annuller" når "confirm" åbnes,
hvordan gør jeg så det ???


--
Venlig hilsen
Erik Isager



Is (26-07-2003)
Kommentar
Fra : Is


Dato : 26-07-03 23:29

> Jeg har :
> ---
> if((... ...))
> {
> confirm (' Der er ikke oplyst ...');
> document.forms[0].XXX.focus();
> return false;
> ---

Hmm

er den helt gal ? nu synes jeg den returnere "false" heletiden ??

--
Venlig hilsen
Erik Isager



Per Thomsen (27-07-2003)
Kommentar
Fra : Per Thomsen


Dato : 27-07-03 12:51

Is wrote:

>>Jeg har :
>>---
>>if((... ...))
>> {
>> confirm (' Der er ikke oplyst ...');
>> document.forms[0].XXX.focus();
>> return false;
>>---
[snip]
> er den helt gal ? nu synes jeg den returnere "false" heletiden ??
[snip]

Ja, det gør den også så vidt jeg kan se. Der mangler måske en if:

if( (... ...) ) {
if( !confirm(' Der er ikke oplyst ...' ) ) {
document.forms[0].XXX.focus();
return false;
} else {
return true;
}
}

MVH Per Thomsen,
http://www.pert.dk/
   


Is (27-07-2003)
Kommentar
Fra : Is


Dato : 27-07-03 21:54


> if( (... ...) ) {
> if( !confirm(' Der er ikke oplyst ...' ) ) {
> document.forms[0].XXX.focus();
> return false;
> } else {
> return true;
> }
> }
>
---
Tak for svar ! men jeg kan heller ikke få det til at virke

Jeg kommer godt nok til "confirm" men jeg kan ikke "fange" forskellen om jeg
vælger "ok" eller "annuller"

--
Venlig hilsen
Erik Isager



Per Thomsen (28-07-2003)
Kommentar
Fra : Per Thomsen


Dato : 28-07-03 22:52

Is wrote:
>>if( (... ...) ) {
>> if( !confirm(' Der er ikke oplyst ...' ) ) {
>> document.forms[0].XXX.focus();
>> return false;
>> } else {
>> return true;
>> }
>>}
[snip]
> Jeg kommer godt nok til "confirm" men jeg kan ikke "fange" forskellen om jeg
> vælger "ok" eller "annuller"
[snip]
Jeg er ikke 100% med på hvad du med med at "fange" forskellen, men jeg
kan da prøve at forklare.

"confirm" er en funktion, der returnerer true eller false, afhængig af
om der er trykket på "ok" eller på "annuller".

I ovenstående eksempel benytter vi denne viden direkte i en betinget
sætning:

if( confirm('...') ) {
// det her bliver udført hvis der er trykket på ok
} else {
// det her bliver udført hvis der er trykket på annuller.
}

Hvis du gerne vil huske på hvad der blev trykket, kan du blot gemme
resultatet i en variabel:

var boolOk = confirm('...');

'boolOk' vil så være true hvis der blev trykket på Ok, og false hvis der
blev trykket på annuller. Nu kan du benytte variablen i betingelsen
istedet for:
if( boolOk ) {
// det her bliver udført hvis der er trykket på ok
} else {
// det her bliver udført hvis der er trykket på annuller.
}

Hvis du heller vil arbejde med tekstuel beskrivelse kan du benytte dig
af en betinget tildeling (conditional assignment) således:

var strKnap = confirm('...') ? 'OK' : 'Annuller';
if( strKnap=='OK' ) {
// det her bliver udført hvis der er trykket på ok
} else {
// det her bliver udført hvis der er trykket på annuller.
}

MVH Per Thomsen,
http://www.pert.dk/


Is (29-07-2003)
Kommentar
Fra : Is


Dato : 29-07-03 20:56

> Jeg er ikke 100% med på hvad du med med at "fange" forskellen, men jeg
> kan da prøve at forklare.
---
jeg mener , hvis der
trykkes OK, så gør "et"
trykkes ANNULLER, så gør noget "andet" ,,efter dit svar tror jeg du har
forstået hvad jeg mente.

MEN jeg kan bare ikke få det til at virke

Jeg vil tjekke nogle data fra en form inden der åbnes og sendet til
databasen,

"navn" skal udfyldes, næste kan udfyldes, det er det jeg vil undersøge, og
så kunne vælge "fortsæt til næste tjek" eller "fortryd og ...focus"
(hvis bare en af de 3 er udfyldt skal alle 3 udfyldes, men det tjekker jeg
senere, og det virker godt nok)
medens jeg prøver at opbygge siden, har jeg lavet et felt i formen der
indskriver hvad der satte "false" . (document.forms[0].error.value )

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 '));
{
}
else
{
document.forms[0].hfd.focus();
}
}
---
Så er der en "syntaksfejl"

Hvad er de galt ????





>
> "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:

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 ???






--
Venlig hilsen
Erik Isager










Per Thomsen (29-07-2003)
Kommentar
Fra : Per Thomsen


Dato : 29-07-03 23:06

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/


Is (30-07-2003)
Kommentar
Fra : Is


Dato : 30-07-03 22:41

> > 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.
---

JA det var noget der hjalp, så lærte jeg det .

---
>
> 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.

---
Tja , men det siger mig dog lidt alligevel hvorfor det gik som det gik før
jeg fjernede ";"
---

> >
> 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'.
---
Nej, jeg plejer at få mange gode svar, men svar på, hvad de der skal bruge
det jeg laver kan finde ud af ?? det forventer jeg ikke

ja, hvis der trykkes ok ! men hvad hvis der trykkes annukker hvis der står
sådan, og ikke mere ??

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 '));

---
jeg har prøvet, men jag synes det er lige meget om der vælges ok eller
annuller ???

det jeg tænker på er når jeg ikke skriver : return false; skulle det komme
ved annuller ???


--
Venlig hilsen
Erik Isager




Per Thomsen (31-07-2003)
Kommentar
Fra : Per Thomsen


Dato : 31-07-03 23:00

Is wrote:
[klip]

>
> ja, hvis der trykkes ok ! men hvad hvis der trykkes annukker hvis der står
> sådan, og ikke mere ??
>
> 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 '));
>
> ---
> jeg har prøvet, men jag synes det er lige meget om der vælges ok eller
> annuller ???

Igen... hvis din kode ser ud som ovenstående er der altå stadig et ';'
for meget.


>
> det jeg tænker på er når jeg ikke skriver : return false; skulle det komme
> ved annuller ???
Nej, du skal selv returnere det. Retur-værdi'er bobler ikke ligesom
events, hvis det er det du tænker på.

>
>
> --
> Venlig hilsen
> Erik Isager
>
>
>


Is (01-08-2003)
Kommentar
Fra : Is


Dato : 01-08-03 18:31

> Igen... hvis din kode ser ud som ovenstående er der altå stadig et ';'
> for meget.
>
>
> >
> > det jeg tænker på er når jeg ikke skriver : return false; skulle det
komme
> > ved annuller ???
> Nej, du skal selv returnere det. Retur-værdi'er bobler ikke ligesom
> events, hvis det er det du tænker på.
>
---
Tak for hjælpen,
nu er det forstået, og virker som jeg gerne vil ha det til'
(det var det sidste jeg tænkte på)


--
Venlig hilsen
Erik Isager



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

Månedens bedste
Årets bedste
Sidste års bedste