Avatar billede cybermaster Nybegynder
22. august 2006 - 02:35 Der er 13 kommentarer og
1 løsning

ved tryk på send, skal den sende uanset hvad.

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function valider(f) {
  for (i = 0; i < f.elements.length/2; i++) {
    a = i+1;
    if (f.elements['nr'+'['+a+']'].type == "text" && f.elements['nr'+'['+a+']'].value=="") {
      f.elements['nr'+'['+a+']'].focus();
      return false;
    }
  }
  return true;
}
//-->
</SCRIPT>
</HEAD>

<BODY onload="document.f.elements['nr'+'[1]'].focus()">
<form name="f" method="post" action="kode_array_data.asp" onsubmit="return valider(this)">
<input type='text' name='nr[1]'><input type='text' name='xx[1]'> <br>
<input type='text' name='nr[2]'><input type='text' name='xx[1]'> <br>
<input type='text' name='nr[3]'><input type='text' name='xx[1]'> <br>
<input type='text' name='nr[4]'><input type='text' name='xx[1]'> <br>
<input  name="Send" type="submit" value="Send">
</form>

</BODY>
</HTML>
Avatar billede fennec Nybegynder
22. august 2006 - 08:19 #1
Fjern dit validate tjek:
<form name="f" method="post" action="kode_array_data.asp">
Avatar billede nielle Nybegynder
22. august 2006 - 08:20 #2
Hvad mener du, skal den bare sende uanset om formen validere eller ej?

Så er det bare at fjerne kaldet til valideringen:

<form name="f" method="post" action="kode_array_data.asp" onsubmit="return valider(this)">

- rettes til:

<form name="f" method="post" action="kode_array_data.asp">
Avatar billede nielle Nybegynder
22. august 2006 - 08:20 #3
Hmmm :^)
Avatar billede cybermaster Nybegynder
22. august 2006 - 13:32 #4
Nej, for når enter trykkes, springer den til næste ledige nr[] felt, men hvis submit trykkes,skal den uanset om der er tomme felter eller ikke
Avatar billede fennec Nybegynder
22. august 2006 - 13:46 #5
Så udnytter vi submit()'s egenskab til at gå uden om onSubmit metoden:

<form name="f" method="post" action="kode_array_data.asp" onsubmit="return valider(this)">
<input type='text' name='nr[1]'><input type='text' name='xx[1]'> <br>
<input type='text' name='nr[2]'><input type='text' name='xx[1]'> <br>
<input type='text' name='nr[3]'><input type='text' name='xx[1]'> <br>
<input type='text' name='nr[4]'><input type='text' name='xx[1]'> <br>
<input  name="Send" type="Button" value="Send" onClick="this.form.submit();">
</form>
Avatar billede fennec Nybegynder
22. august 2006 - 13:47 #6
Skal vis egentlig være en submit knap:
<input name="Send" type="Submit" value="Send" onClick="this.form.submit();return false;">
Avatar billede cybermaster Nybegynder
22. august 2006 - 13:59 #7
Den sender nu ved tryk på enter, hvor den entelig bare skulle gå til næste felt.
Det er kun ved tryk på send den skal sende, eller der ikke er flere tomme felter.

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function valider(f) {
  for (i = 0; i < f.elements.length/2; i++) {
    a = i+1;
    if (f.elements['nr'+'['+a+']'].type == "text" && f.elements['nr'+'['+a+']'].value=="") {
      f.elements['nr'+'['+a+']'].focus();
      return false;
    }
  }
  return true;
}
//-->
</SCRIPT>
</HEAD>

<BODY onload="document.f.elements['nr'+'[1]'].focus()">
<form name="f" method="post" action="kode_array_data.asp" onsubmit="return valider(this)">
<input type='text' name='nr[1]'><input type='text' name='xx[1]'> <br>
<input type='text' name='nr[2]'><input type='text' name='xx[1]'> <br>
<input type='text' name='nr[3]'><input type='text' name='xx[1]'> <br>
<input type='text' name='nr[4]'><input type='text' name='xx[1]'> <br>
<input name="Send" type="Submit" value="Send" onClick="this.form.submit();return false;">
</form>

</BODY>
</HTML>
Avatar billede fennec Nybegynder
22. august 2006 - 14:30 #8
Af en eller anden grund aktiveres submit knappens onclick kald ved "enter" tryk. Fatter jeg minus af hvorfor :o)

Jeg har lavet dette workaround, men jeg kan ikke garentere for crossbrowser funktionalitet. Jeg er dog rigmelig sikker på at det vil fungere i alle:

<form name="f" method="post" action="kode_array_data.asp" onsubmit="return valider(this)">
<input type='text' name='nr[1]'><input type='text' name='xx[1]'> <br>
<input type='text' name='nr[2]'><input type='text' name='xx[1]'> <br>
<input type='text' name='nr[3]'><input type='text' name='xx[1]'> <br>
<input type='text' name='nr[4]'><input type='text' name='xx[1]'> <br>
<input name="Send" type="Submit" value="Send" style="width:0px;height:0px;">
<input type="Button" value="Send" onClick="this.form.submit();return false;">
</form>

Ville helst have brugt display:none, men af en eller anden grund skal knappen vises (selv om brede og højde er 0)
Avatar billede cybermaster Nybegynder
22. august 2006 - 16:36 #9
Nu springer den ikke til næste ledige felt, ved tryk på enter
Avatar billede cybermaster Nybegynder
22. august 2006 - 16:37 #10
prøver lige igen.
Nu springer den ikke til næste ledige felt, ved tryk på enter, men submitter derimod.
Avatar billede cybermaster Nybegynder
22. august 2006 - 16:44 #11
Så.... Efter mange lange forsøg, fandt jeg løsningen:

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function valider(f) {
  for (i = 0; i < f.elements.length/2; i++) {
    a = i+1;
    if (f.elements['nr'+'['+a+']'].type == "text" && f.elements['nr'+'['+a+']'].value=="" && event.keyCode == "13") {
      f.elements['nr'+'['+a+']'].focus();
      return false;
    }
  }
  return true;
}
//-->
</SCRIPT>
</HEAD>

<BODY onload="document.f.elements['nr'+'[1]'].focus()">

<form name="f" method="post" action="kode_array_data.asp" onKeyPress="if(event.keyCode==13) return valider(this);">
<input type='text' name='nr[1]'><input type='text' name='xx[1]'> <br>
<input type='text' name='nr[2]'><input type='text' name='xx[1]'> <br>
<input type='text' name='nr[3]'><input type='text' name='xx[1]'> <br>
<input type='text' name='nr[4]'><input type='text' name='xx[1]'> <br>
<input type="Button" value="Send" onClick="this.form.submit();return false;">
</form>


</BODY>
</HTML>

//--------

fennec lig et svar, så splitter vi.
Avatar billede roenving Novice
22. august 2006 - 17:19 #12
Men test lige i hvilke browsere event.keyCode virker !-)
Avatar billede cybermaster Nybegynder
22. august 2006 - 18:52 #13
roenving :> Det betyder ikke spor for mig, hvilke det virker i eller ikke, så længe det virker hos mig ;o)

Bruger det sammen med en stregkode scanner, i forbindelse med noget optælling.

Men tak for tanken ;o)
Avatar billede fennec Nybegynder
23. august 2006 - 09:24 #14
.o) <-- One Eyed Jack
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