/ 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
Javascript
Fra : AHR


Dato : 12-12-02 15:11

Hej

Hvordan ændres nedenstående script til at kunne klare flere felter end kun
navn?

Det vil sige at hvis feltet navn og tlf ikke er udfyldt når jeg submitter
formen får jeg en alert.

----------------------------------------------------------------------------
---
<script type="text/javascript">


function validering()
{
error = 0;
if((document.forms[0].navn.value=='') && (error==0))
{
alert('Tekstfeltet skal udfyldes!');
document.forms[0].navn.focus();
error = 1;
}

if(error == 0)
document.forms[0].submit();
}

</script>
----------------------------------------------------------------------------
---

Tak
A



 
 
Jens Gyldenkærne Cla~ (12-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 12-12-02 15:37

AHR skrev:

> Hvordan ændres nedenstående script til at kunne klare flere
> felter end kun navn?

Her er et par muligheder (jeg har fjernet ombrydningen, så
man kan klippe-klistre efter behag):

* A ****************
function dispErr(f,txt)
{   alert("Angiv venligst "+txt+"\ndu ønsker at være optaget under.\n");
   f.focus();
   return(false);
}
function validate(f)
{   var i;
   if (f.firmanavn.value == "") { return(dispErr(f.firmanavn,"det navn
eller firmanavn")); }    if (f.adr1.value == "") {
return(dispErr(f.adr1,"adressen")); }    if (f.postnr.value == "") {
return(dispErr(f.postnr,"postnummeret")); }    if (f.telefon.value == "")
{ return(dispErr(f.telefon,"telefonnummeret")); }    if
(f.tilmeldt.options.length == 0) { return(dispErr(f.tilmeldt,"et eller
flere registre")); }    return(true);
}

********************
* B ****************

function validate(){
   
      var i;
      i = 0; // antal felter med fejl
      var fejltekst = "Der er fundet fejl i indtastningen. Se nedenfor:\n";
      // Overskrift skal indeholde mindst 3 tegn
      if (document.form_opret.overskrift.value.length < 3) {
         i++;
         fejltekst += "- Feltet 'overskrift' skal indeholde minimum 3
tegn.\n";       }
      
      // Tekst skal indeholde min 20 tegn
      if (document.form_opret.annoncetekst.value.length < 20) {
         i++;
         fejltekst += "- Feltet 'Annoncetekst' skal indeholde minimum 20
tegn.\n";       }

   // ... snip - adskillige ekstra fejltjek ...

   // Evaluer i
      
      if (i == 0) {
         return true;
      } else {
         alert(fejltekst);
         return false;
      }
   
   }

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

Jens Gyldenkærne Cla~ (12-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 12-12-02 15:41

Jens Gyldenkærne Clausen skrev:

> Her er et par muligheder (jeg har fjernet ombrydningen, så
> man kan klippe-klistre efter behag):

Hm - korrnews satte vist en stopper for det.
Prøver lige at sende uden om:

* A ****************
function dispErr(f,txt)
{   alert("Angiv venligst "+txt+"\ndu ønsker at være optaget under.\n");
   f.focus();
   return(false);
}
function validate(f)
{   var i;
   if (f.firmanavn.value == "") { return(dispErr(f.firmanavn,"det navn eller firmanavn")); }
   if (f.adr1.value == "") { return(dispErr(f.adr1,"adressen")); }
   if (f.postnr.value == "") { return(dispErr(f.postnr,"postnummeret")); }
   if (f.telefon.value == "") { return(dispErr(f.telefon,"telefonnummeret")); }
   if (f.tilmeldt.options.length == 0) { return(dispErr(f.tilmeldt,"et eller flere registre")); }
   return(true);
}

********************
* B ****************

function validate(){
   
      var i;
      i = 0; // antal felter med fejl
      var fejltekst = "Der er fundet fejl i indtastningen. Se nedenfor:\n";
      // Overskrift skal indeholde mindst 3 tegn
      if (document.form_opret.overskrift.value.length < 3) {
         i++;
         fejltekst += "- Feltet 'overskrift' skal indeholde minimum 3 tegn.\n";
      }
      
      // Tekst skal indeholde min 20 tegn
      if (document.form_opret.annoncetekst.value.length < 20) {
         i++;
         fejltekst += "- Feltet 'Annoncetekst' skal indeholde minimum 20 tegn.\n";
      }

   // ... snip - adskillige ekstra fejltjek ...

   // Evaluer i
      
      if (i == 0) {
         return true;
      } else {
         alert(fejltekst);
         return false;
      }
   
   }

**********************************

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

AHR (12-12-2002)
Kommentar
Fra : AHR


Dato : 12-12-02 15:55


> * A ****************
> function dispErr(f,txt)
> { alert("Angiv venligst "+txt+"\ndu ønsker at være optaget under.\n");
> f.focus();
> return(false);
> }
> function validate(f)
> { var i;
> if (f.firmanavn.value == "") { return(dispErr(f.firmanavn,"det navn eller
firmanavn")); }
> if (f.adr1.value == "") { return(dispErr(f.adr1,"adressen")); }
> if (f.postnr.value == "") { return(dispErr(f.postnr,"postnummeret")); }
> if (f.telefon.value == "") {
return(dispErr(f.telefon,"telefonnummeret")); }
> if (f.tilmeldt.options.length == 0) { return(dispErr(f.tilmeldt,"et eller
flere registre")); }
> return(true);
> }
>
> ********************
> * B ****************
>
> function validate(){
>
> var i;
> i = 0; // antal felter med fejl
> var fejltekst = "Der er fundet fejl i indtastningen. Se nedenfor:\n";
> // Overskrift skal indeholde mindst 3 tegn
> if (document.form_opret.overskrift.value.length < 3) {
> i++;
> fejltekst += "- Feltet 'overskrift' skal indeholde minimum 3 tegn.\n";
> }
>
> // Tekst skal indeholde min 20 tegn
> if (document.form_opret.annoncetekst.value.length < 20) {
> i++;
> fejltekst += "- Feltet 'Annoncetekst' skal indeholde minimum 20 tegn.\n";
> }
>
> // ... snip - adskillige ekstra fejltjek ...
>
> // Evaluer i
>
> if (i == 0) {
> return true;
> } else {
> alert(fejltekst);
> return false;


Skal det hele ligge i BODY, eller?





Jens Gyldenkærne Cla~ (12-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 12-12-02 16:21

AHR skrev:

> Skal det hele ligge i BODY, eller?

Nej. Det kan ligge i en ekstern javascriptfil eller på selve html-
siden. Placerer man scriptet på siden kan det ske såvel i head som
i body - det første er dog mest almindeligt.

Scriptet kaldes med formens onsubmit-hændelse:

<form action="...." onsubmit="return validate();">


NB: Du må gerne klippe lidt når du citerer.
--
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

AHR (12-12-2002)
Kommentar
Fra : AHR


Dato : 12-12-02 16:31

> > Skal det hele ligge i BODY, eller?

> Nej. Det kan ligge i en ekstern javascriptfil eller på selve html-
> siden. Placerer man scriptet på siden kan det ske såvel i head som
> i body - det første er dog mest almindeligt.

OK.

Kender ikke meget til javascript. Hvad er forskellen på *A****** og
*B*******

Jeg ønsker ikke at hente scriptet fra en fil, men blot have det liggende i
body.

Jeg har felterne navn og tlfnr liggende på siden. Det er meningen at man
skriver et navn i felt navn og et tld. nr. i felt tlf. Hvordan skal det
indsættes i nedenstående:

> * A ****************
> function dispErr(f,txt)
> { alert("Angiv venligst "+txt+"\ndu ønsker at være optaget under.\n");
> f.focus();
> return(false);
> }
> function validate(f)
> { var i;
> if (f.firmanavn.value == "") { return(dispErr(f.firmanavn,"det navn eller
firmanavn")); }
> if (f.adr1.value == "") { return(dispErr(f.adr1,"adressen")); }
> if (f.postnr.value == "") { return(dispErr(f.postnr,"postnummeret")); }
> if (f.telefon.value == "") {
return(dispErr(f.telefon,"telefonnummeret")); }
> if (f.tilmeldt.options.length == 0) { return(dispErr(f.tilmeldt,"et eller
flere registre")); }
> return(true);
> }
>
> ********************
> * B ****************
>
> function validate(){
>
> var i;
> i = 0; // antal felter med fejl
> var fejltekst = "Der er fundet fejl i indtastningen. Se nedenfor:\n";
> // Overskrift skal indeholde mindst 3 tegn
> if (document.form_opret.overskrift.value.length < 3) {
> i++;
> fejltekst += "- Feltet 'overskrift' skal indeholde minimum 3 tegn.\n";
> }
>
> // Tekst skal indeholde min 20 tegn
> if (document.form_opret.annoncetekst.value.length < 20) {
> i++;
> fejltekst += "- Feltet 'Annoncetekst' skal indeholde minimum 20 tegn.\n";
> }
>
> // ... snip - adskillige ekstra fejltjek ...
>
> // Evaluer i
>
> if (i == 0) {
> return true;
> } else {
> alert(fejltekst);
> return false;




Jens Gyldenkærne Cla~ (12-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 12-12-02 16:38

AHR skrev:

> Kender ikke meget til javascript. Hvad er forskellen på
> *A****** og *B*******

Den første løsning (A) returnerer så snart den finder en fejl. Den
anden (B) tjekker alle kriterierne før den returnerer. På den måde
kan brugeren nøjes med at rette indtastningen én gang.


> Jeg har felterne navn og tlfnr liggende på siden. Det er
> meningen at man skriver et navn i felt navn og et tld. nr. i
> felt tlf. Hvordan skal det indsættes i nedenstående:

"firmanavn", "postnr", "telefon" er nogle af de feltnavne der er
nedenfor. Hvis du udskifter med dine egne feltnavne skulle du være
godt på vej. Teksterne bagved er blot til at oplyse en fejlmeddelse
- her skal du bare skrive noget der passer til dit brug.

NB: Husk at fjerne overskydende citater i slutningen af dine
indlæg.
--
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

AHR (13-12-2002)
Kommentar
Fra : AHR


Dato : 13-12-02 15:13

Jeg tror du misforstår mig. Dit script undersøger om et felt i min DB ikke
er udfyldt ikk?

Jeg ønsker at man skrive et navn, derefter et tlf. når man så trykker ok til
at sende data til databasen skal den komme med en fejl.

Kan i ikke hjælpe mig med at rette nedenstående script så det både
undersøger om der er skrevet noget i navn og derefter i tlf. nr.

---------------------------------------------------------
<script type="text/javascript">


function validering()
{
error = 0;
if((document.forms[0].navn.value=='') && (error==0))
{
alert('Tekstfeltet skal udfyldes!');
document.forms[0].navn.focus();
error = 1;
}

if(error == 0)
document.forms[0].submit();
}

</script>



Jens Gyldenkærne Cla~ (13-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 13-12-02 15:41

AHR skrev:

> Jeg tror du misforstår mig.

Nej.

> Dit script undersøger om et felt i min DB ikke er udfyldt ikk?

Nej. Scriptet undersøger om et eller flere felter i din webform er
udfyldt.

Prøv at gøre som jeg foreslog sidst - udskift feltnavnene i min
kode med de feltnavne du selv har.
--
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

AHR (14-12-2002)
Kommentar
Fra : AHR


Dato : 14-12-02 01:13

Tak. Jeg er utrolig glad for lidt hjælp men det virker sku ikke.

Hvad gør jeg galt?


<script type="text/javascript">
function validate()
{ var i;
if (Navn == "") { return(dispErr(navn,"det navn eller firmanavn")); }
if (tlf == "") { return(dispErr(tlf,"adressen")); }
return(true);
}
</script>



AHR (14-12-2002)
Kommentar
Fra : AHR


Dato : 14-12-02 01:25

Du behøver ikke svare, jeg har brugt følgende:

<script type="text/javascript">

function validering()
{
error = 0;

if((document.forms[0].navn.value=='') && (error==0))
{
alert('Du skal udfylde feltet med dit navn!');
document.forms[0].navn.focus();
error = 1;
}

if((document.forms[0].tlf.value=='') && (error==0))
{
alert('Du skal udfylde feltet med din e-mail adresse!');
document.forms[0].tlf.focus();
error = 1;
}

if(error == 0)
document.forms[0].submit();
}


</script>





Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste