Avatar billede iceb1977 Nybegynder
19. november 2003 - 20:13 Der er 4 kommentarer og
1 løsning

jscript fejl ved afsendelse

Hej

Jeg har en smssender som når sender melder

jscripterror......

Det underlige er at smsen alligevel kommer

frem og alt virker ok ...

Hvad kan være galt ?


KODEN:

<HTML>
<HEAD>
  <TITLE>Anbefal iceb.dk</TITLE>
 

<meta name="Generator" content="Stone's WebWriter 4">
<script language="javascript" type="text/javascript">
function validering() {
  var valid    = true;
  var errors  = new Array();
  var names    = new Array('FromName','To','Body');
  var captions = new Array('Dit navn','Modtagerens nummer','En lille besked');
  for (index in names) {
    var name    = names[index];
    var element  = inform.elements[name];
    var error    = true;
    var errormsg = 'Elementet er ikke udfyldt';
   
    switch (name) {
    case 'FromName':
    error = false;
    if (element.value.length == 0) {
      error = true;
      errormsg = 'skal udfyldes';
    }

    break;
    case 'To':
    error = false;
    if (element.value.length == 0) {
      error = true;
      errormsg = 'skal udfyldes';
    }

    break;
    case 'Body':
    error = false;
    if (element.value.length == 0) {
      error = true;
      errormsg = 'skal udfyldes';
    }
    }
   
    if (error) {
    valid = false;
    errors[name] = captions[index] + ' ' + errormsg;
    }
  }
 
  if (!valid) {
    errorstr = 'Følgende fejl dukkede op:\n'
    for (index in errors) {
      errorstr += '- ' +  errors[index] + '\n';
    }
    alert(errorstr);
  }
 
  if (!error) {
  document.inform.submit();
  }
}
</script>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Ronnie T. Moore -->
<!-- Web Site:  The JavaScript Source -->

<!-- Dynamic 'fix' by: Nannette Thacker -->
<!-- Web Site: http://www.shiningstar.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
countfield.value = maxlimit - field.value.length;
}
// End -->

</script>

</HEAD>


<body bgcolor="#ffffff" text="#000000" link="#000000" vlink="#000000" alink="#FFFFFF">



<center>
<H2>Her kan du anbefale iceb.dk </h2>
<FORM name="inform" METHOD="POST" ACTION="s.asp" onsubmit="validering();return false;">
  <input type="hidden" name="Ourbody" value="Din ven har syntes godt om iceb.dk som mange andre besøg os på http://www.iceb.dk ">
  <TABLE CELLSPACING="0" CELLPADDING="2" BGCOLOR="#E0E0E0">
  <TR>
    <TD></TD>
    <TD></TD>
  </TR>
  <tr>
    <TD><INPUT SIZE="20" TYPE="HIDDEN" NAME="From" value="send.sms.hos@iceb.dk"></TD>
  </TR>
  <TR>
    <TD>Hvilket navn? (Indtast dit navn):</TD>
    <TD><INPUT SIZE="20" TYPE="TEXT" NAME="FromName"></TD>
  </TR>
  <TR>
    <TD>Hvor skal din sms hen? (Indtast modtagerens nummer):</TD>
    <TD><INPUT SIZE="20" LENGT="8" MAXLENGTH="8" TYPE="TEXT" NAME="To"></TD>
  </TR>
  <TR>
    <TD>Din Besked?</TD>
    <TD><textarea name="Body" cols="30" rows="8" onKeyDown="textCounter(this.form.Body,this.form.remLen,60);" onKeyUp="textCounter(this.form.Body,this.form.remLen,60);"></textarea></td>
  </tr>
  <tr>
    <td></td>
    <td>
    <input readonly type="text" name="remLen" size="3" maxlength="3" value="60"> tegn tilbage.
    <INPUT type="submit" NAME="submit" value=" Send sms.">
    </td>
  </TR>
  </TABLE>
</FORM>


Der tages forbehold for trykfejl og eller tastefejl.Denne sms-sender
virker kun til telia mobiltelefonabonnenter.
<br>
</center>

</BODY>
</HTML>
Avatar billede iceb1977 Nybegynder
19. november 2003 - 22:59 #1
Der er også en anden fejl .....

hvis man KUN udfylder beskedfeltet også klikker på send

så får man at vide at der er felter der ikke er udfyldte

men så bliver formularen sendt.

Det skal den jo ikke når der jo BLIVER funder fejl.
Avatar billede skovenborg Nybegynder
19. november 2003 - 23:19 #2
først skal du skrive:
<FORM name="inform" METHOD="POST" ACTION="test.php" onsubmit="return validering();">

Herefter skal du rette lidt i dit script:
for (index in names) {
    var name    = names[index];
    var element  = document.inform.elements[name]; //<-- tilføjet document (for mozilla-understøttelse)
    var error    = true;
    var errormsg = 'Elementet er ikke udfyldt';

if (!valid) {
    errorstr = 'Følgende fejl dukkede op:\n'
    for (index in errors) {
      errorstr += '- ' +  errors[index] + '\n';
    }
    alert(errorstr);
    return false; // Returner false hvis der er fejl -eller true. Formen vil kun submitte når den er true, da der står onsubmit="return validering;"
  }
  else return true;
// Så skal du også lige fjerne den her:
  if (!error) {
  document.inform.submit();
  }
Avatar billede iceb1977 Nybegynder
20. november 2003 - 15:03 #3
Hej nu har jeg prøvet at ændre men formularing bliver sradigvæk

sendt selvom der er fejl

KODE:

<HTML>
<HEAD>
  <TITLE>Anbefal iceb.dk</TITLE>
 

<meta name="Generator" content="Stone's WebWriter 4">
<script language="javascript" type="text/javascript">
function validering() {
  var valid    = true;
  var errors  = new Array();
  var names    = new Array('FromName','To','Body');
  var captions = new Array('Dit navn','Modtagerens nummer','En lille besked');
for (index in names) {
    var name    = names[index];
    var element  = document.inform.elements[name]; //<-- tilføjet document (for mozilla-understøttelse)
    var error    = true;
    var errormsg = 'Elementet er ikke udfyldt';
   
    switch (name) {
    case 'FromName':
    error = false;
    if (element.value.length == 0) {
      error = true;
      errormsg = 'skal udfyldes';
    }

    break;
    case 'To':
    error = false;
    if (element.value.length == 0) {
      error = true;
      errormsg = 'skal udfyldes';
    }

    break;
    case 'Body':
    error = false;
    if (element.value.length == 0) {
      error = true;
      errormsg = 'skal udfyldes';
    }
    }
   
    if (error) {
    valid = false;
    errors[name] = captions[index] + ' ' + errormsg;
    }
  }
 
if (!valid) {
    errorstr = 'Følgende fejl dukkede op:\n'
    for (index in errors) {
      errorstr += '- ' +  errors[index] + '\n';
    }
    alert(errorstr);
    return false; // Returner false hvis der er fejl -eller true. Formen vil kun submitte når den er true, da der står onsubmit="return validering;"
  }
  else return true;
 
}
</script>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Ronnie T. Moore -->
<!-- Web Site:  The JavaScript Source -->

<!-- Dynamic 'fix' by: Nannette Thacker -->
<!-- Web Site: http://www.shiningstar.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
countfield.value = maxlimit - field.value.length;
}
// End -->

</script>

</HEAD>


<body bgcolor="#ffffff" text="#000000" link="#000000" vlink="#000000" alink="#FFFFFF">



<center>
<H2>Her kan du anbefale iceb.dk </h2>
<FORM name="inform" METHOD="POST" ACTION="s.asp" onsubmit="validering();">
  <input type="hidden" name="Ourbody" value="Din ven har syntes godt om iceb.dk som mange andre besøg os på http://www.iceb.dk ">
  <TABLE CELLSPACING="0" CELLPADDING="2" BGCOLOR="#E0E0E0">
  <TR>
    <TD></TD>
    <TD></TD>
  </TR>
  <tr>
    <TD><INPUT SIZE="20" TYPE="HIDDEN" NAME="From" value="send.sms.hos@iceb.dk"></TD>
  </TR>
  <TR>
    <TD>Hvilket navn? (Indtast dit navn):</TD>
    <TD><INPUT SIZE="20" TYPE="TEXT" NAME="FromName"></TD>
  </TR>
  <TR>
    <TD>Hvor skal din sms hen? (Indtast modtagerens nummer):</TD>
    <TD><INPUT SIZE="20" LENGT="8" MAXLENGTH="8" TYPE="TEXT" NAME="To"></TD>
  </TR>
  <TR>
    <TD>Din Besked?</TD>
    <TD><textarea name="Body" cols="30" rows="8" onKeyDown="textCounter(this.form.Body,this.form.remLen,60);" onKeyUp="textCounter(this.form.Body,this.form.remLen,60);"></textarea></td>
  </tr>
  <tr>
    <td></td>
    <td>
    <input readonly type="text" name="remLen" size="3" maxlength="3" value="60"> tegn tilbage.
    <INPUT type="submit" NAME="submit" value=" Send sms.">
    </td>
  </TR>
  </TABLE>
</FORM>


Der tages forbehold for trykfejl og eller tastefejl.Denne sms-sender
virker kun til telia mobiltelefonabonnenter.
<br>
</center>

</BODY>
</HTML>
Avatar billede skovenborg Nybegynder
20. november 2003 - 17:17 #4
det fordi du ikke har skrevet:
<FORM name="inform" METHOD="POST" ACTION="s.asp" onsubmit="return validering();">

desuden kan du godt slette den der kommentar, som jeg lavede:
// Returner false hvis der er fejl -eller true. Formen vil kun submitte når den er true, da der står onsubmit="return validering;"
Avatar billede iceb1977 Nybegynder
12. december 2003 - 11:06 #5
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester