Avatar billede funstuff.dk Nybegynder
28. februar 2007 - 16:15 Der er 13 kommentarer og
1 løsning

Auto submit i indput felt ved 15 tegn

Hej.

Kan man lave en auto sumbit på et indput felt så den "trykker send" når man har indtaster 15 tal.

På forhånd tak
Avatar billede kalp Novice
28. februar 2007 - 16:20 #1
<script type="text/javascript">
  function checkSubmit(checkIt)
  {
    if(checkIt.value.length() > 14){
    document.NavnetPåDinForm.Submit();
    }
  }
</script>


og så skal du kalde functionen med checkSubmit(this);
Avatar billede funstuff.dk Nybegynder
28. februar 2007 - 17:16 #2
hvordan får jeg den til at gøre det i indput boxen. javascript er ikk min stærke side.
Avatar billede o-zone Nybegynder
28. februar 2007 - 17:24 #3
ud af hovedet og uden at have testet det så:

<input type="text" name="mitFelt" onkeypress="if (this.value.length>14) this.form.submit(); return true;">

...men jeg vil på det kraftigste anbefale dig IKKE at gøre det sådan - der er intet som irriterer brugere mere end når normale GUI elementer opfører sig anderledes end de forventer! Hvad nu hvis man f.eks. har skrevet forkert? Så mister du muligheden for at rette det inden formen bliver sendt!

/o-zone
Avatar billede funstuff.dk Nybegynder
28. februar 2007 - 17:36 #4
Oki det var nu også hvordan jeg ku kalde functionen i min indput
Avatar billede kalp Novice
28. februar 2007 - 17:41 #5
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>

<script type="text/javascript">
  function checkSubmitNu(checkIt)
  {
with(checkIt)
{
    if(value.length > 15){
    document.minform.submit();
    }
    }
  }
</script>

</head>
<body>
<input onChange="checkSubmitNu(this);" type="text" id="textboks" name="textfield">

<form name="minform" id="minform" action="#" method="get"></form>
</body>
</html>
Avatar billede kalp Novice
28. februar 2007 - 17:42 #6
jeg har valgt det event her fordi den først tjekker om input er korrekt efter du har fjernet dig fra boksen.. du kan evt. smide en alert på.

<script type="text/javascript">
  function checkSubmitNu(checkIt)
  {
with(checkIt)
{
    if(value.length > 15){
    document.minform.submit();
    }
    else { alert('indtast venligst 15 tegn') }
    }
  }
</script>
Avatar billede o-zone Nybegynder
28. februar 2007 - 17:47 #7
du KALDER funktionen i den inputlinie jeg har skrevet!
Der er en eventhandler (onkeypress) som automatisk bliver kaldt hver gang der bliver trykket på en tast og inputfeltet har fokus

(ved nærmere overvejelse bør du nok bruge onkeyup istedet?) :-)

/o-zone

P.S. Den eventhandler qawi bruger (onchange) kræver at input-feltet mister fokus først ... så bliver formen ikke sendt før man har tastet færdigt (og det kan evt. godt være mere end 15 tegn)

Hvis du virkelig mener at formen skal sendes så snart det 15. tegn er indtastet, så er du nødt til at bruge f.eks. onkeyup
(men igen - hvis JEG var din bruger ville jeg hade den funktionalitet! - no offence)
Avatar billede funstuff.dk Nybegynder
28. februar 2007 - 17:48 #8
oki hvordan får jeg den så til at submitte når  man har tastet det sidste tal i de 15 tal man ska taste
Avatar billede kalp Novice
28. februar 2007 - 17:56 #9
det er jo bare at ændre eventet på input boksen.

<input  onKeyPress="checkSubmitNu(this);" type="text" id="textboks" name="textfield">

funstuff.dk >> hvad med at du henter og gemmer koden fra

Svar: qawi
28/02-2007 17:41:09

som html.. det er et eksempel som submitter og det hele.. kan jo tilpasses yderligere.
Avatar billede funstuff.dk Nybegynder
28. februar 2007 - 18:13 #10
den gør det kun når man fjerner musen fra feltet. den sku gerne gøre det så snart man har tastet 15 tegn.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>

<script type="text/javascript">
  function checkSubmitNu(checkIt)
  {

    if(checkIt.value.length > 15){
    document.minform.submit();
    }
   
  }
</script>

</head>
<body>
<form name="minform" id="minform" action="#" method="get">

<input onChange="checkSubmitNu(this);" type="text" id="textboks" name="textfield">

</form>

</body>
</html>
Avatar billede kalp Novice
28. februar 2007 - 18:36 #11
som jeg sagde skal du bare have denne linje

<input  onKeyPress="checkSubmitNu(this);" type="text" id="textboks" name="textfield">

istedet for denne

<input onChange="checkSubmitNu(this);" type="text" id="textboks" name="textfield">
Avatar billede o-zone Nybegynder
28. februar 2007 - 22:53 #12
Prøv at kopiere al denne tekst ind i en html fil ved navn "hvorDuNuVilHaveDe15Tegn.htm":
---8<----------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>15 tegn</title>
</head>

<body>
<h1><script language="javascript" type="text/javascript">var tal=location.search.substr(location.search.indexOf("=")+1); if (tal!="") document.write("Du skrev : <span style='background-color:steelblue'>"+unescape(tal).replace(/\+/gi," ")+"</span>");</script></h1>
<form method="get" action="hvorDuNuVilHaveDe15Tegn.htm">
    Indtast 15 cifre:<br />
    <input type="text" name="mitFelt" onkeyup="if (this.value.length>14) this.form.submit(); return true;" />
</form>
</body>
</html>
---8<----------

prøv så at hente den ind i en browser og tast 15 tegn i feltet :)
...når du er blevet overbevist, så kan du roligt slette linie 9 (den er kun til for at du kan se hvad vi mener)
så skal du ændre action="xxx" i form tagget til hvor du nu vil have de 15 tegn dirigeret hen, og ja faktisk er den eneste vigtige linie i hele showet linie 12 med det input-element der har 15 tegns begrænsningen (den skal selvfølgelig være i en form!)

...og så vil jeg endnu engang råde dig til at lade være med at bruge sådan en funktionalitet, da jeg vil garantere dig at du kommer til at hidse dine brugere unødigt op (med mindre du har en meget præcist defineret (og lettere sær?) brugergruppe du ved med sikkerhed vil synes om funktionaliteten!

/O-zone
Avatar billede o-zone Nybegynder
28. februar 2007 - 22:58 #13
altså det ENESTE der var vigtigt i den foregående fil var:

<form action="yadayada">
    <input type="text" name="mitFelt" onkeyup="if (this.value.length>14) this.form.submit(); return true;" />
</form>

...alt andet var pynt ... men det virkede på mig som om du efterspørger en fuld html fil, så du kan se hvordan det kan gøres?
Avatar billede funstuff.dk Nybegynder
05. marts 2007 - 15:28 #14
Takker for hjælpen.
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