Avatar billede ameq Nybegynder
13. august 2003 - 15:11 Der er 20 kommentarer og
1 løsning

Disable submit hvis der ikke står noget i et tekst fælt

Hej jeg leder efter et script hvor den disable en submit knap, hvis der ikke stå en tekst i et textfælt...
Hvis der stå noget skal knappe bare virke med det samme...

og helt ikke bruge onload funktion
Avatar billede mm12010 Nybegynder
13. august 2003 - 15:27 #1
<body onKeyUp="if(document.forms['form1'].txt.value.length>0){document.forms['form1'].knap.disabled = false;}">
<form action="" method="get" name="form1"><input name="txt" type="text">
  <br>
  <input name="knap" type="submit" disabled="true"></form>
</body>
Avatar billede ameq Nybegynder
13. august 2003 - 15:28 #2
kan den ikke komme i en funktion så jeg ikke bruger mit body tag?
Avatar billede grunken Nybegynder
13. august 2003 - 15:31 #3
<input type="text" onkeyup="if(this.value.length!=0){this.form.knap.disabled=false;}else{this.form.knap.disabled=true;}">
<input type="submit" name="knap">

og se lige at give tilbagemelding i dine tidligere spørgsmål!
Avatar billede ameq Nybegynder
13. august 2003 - 15:32 #4
ja ved det godt og det underskylder jeg for...
Avatar billede mm12010 Nybegynder
13. august 2003 - 15:34 #5
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>387045</title>
<script language="JavaScript" type="text/javascript">
function tjeck(){
    if(document.forms['form1'].txt.value.length>0){
        document.forms['form1'].knap.disabled = false;
        return true;
        }
    }
</script>
</head>
<body>
<form action="" method="get" name="form1">
  <input name="txt" type="text" onKeyUp="tjeck();">
  <br>
  <input name="knap" type="submit" disabled="true"></form>
</body>
</html>
Avatar billede roenving Novice
13. august 2003 - 15:36 #6
<script type="text/javascript">

function validering(f){
  if(f.navn.value=='')    {       
    alert('Du skal udfylde feltet med dit navn!');
    f.navn.focus();
    return false;
  }

  if(f.adresse.value=='')    {       
    alert('Du skal udfylde feltet med din adresse!');
    f.adresse.focus();
    retrun false;
  }

  if(f.post.value=='')    {       
    alert('Du skal udfylde feltet med dit post nr.!');
    f.post.focus();
    return false;
  }

  if(f.by.value=='')    {       
    alert('Du skal udfylde feltet med din by!');
    f.by.focus();
    return false;
  }

  var regexp = /^[\w\.\-_]+@[\w\-_]+\.[\w\.\-_]+$/i;
  tekst=f.mail.value.toLowerCase();
  if (!regexp.test(tekst){
      alert ("Der skal stå en gyldig e-mail adresse i tekst feltet");
      return false;};
  }

  if(f.password1.value=='') 
  {       
    alert('Du skal udfylde feltet med dit password!');
    f.password1.focus();
    return fasle;
  }
}
</script>


Og så:

<form name="minForm" action="dinSide" method="post" onsubmit="return validering(this);">
Avatar billede ameq Nybegynder
13. august 2003 - 15:39 #7
den her er rigtig nok
onkeyup="if(this.value.length!=0){this.formen.submit.disabled=false;}else{this.formen.submit.disabled=true;}"

Hvis man form hedder "formen"
og min submit hedder "submit"

men den kommer med en fejl...

this.formen.submit is null or not an object
Avatar billede mm12010 Nybegynder
13. august 2003 - 15:40 #8
onkeyup="if(this.value.length!=0){this.form.submit.disabled=false;}else{this.form.submit.disabled=true;}"
Avatar billede roenving Novice
13. august 2003 - 15:55 #9
Der findes en native funktion på form, som hedder submit !-)

Du må _ikke_ bruge det som navn på et andet objekt ...

Det er i det hele taget bedst at undgå den slags navne-forvirringer, men oftest betyder det ikke noget...

-- men her kan javascript-fortolkeren garanteret ikke finde ud af om det er funktionen form.submit() eller objektet form.submit der menes ...
Avatar billede ameq Nybegynder
13. august 2003 - 16:02 #10
FEDT det virker nu tak =) andre en mm12010 som skal have poining?
Avatar billede ameq Nybegynder
13. august 2003 - 16:04 #11
arr og dog... hvis der står noget i fæltet bliver den også dis. til at starte med...
Avatar billede mm12010 Nybegynder
13. august 2003 - 16:05 #12
hvis den ikke skal det er du nød til at bruge onLoad
Avatar billede ameq Nybegynder
13. august 2003 - 16:07 #13
kan man ikke lave et script hvor den laver onload?
Avatar billede mm12010 Nybegynder
13. august 2003 - 16:11 #14
<body onLoad="if(document.forms['form1'].txt.value.length>0){document.forms['form1'].knap.disabled = false;}">
Avatar billede roenving Novice
13. august 2003 - 16:15 #15
jo:
document.onload = minfunktion

-- så overtager den body onload og man skal så

function minfunktion(){

//noget

}

_før_ ovenstående tildeling men begge dele inde i script-tags ...
Avatar billede ameq Nybegynder
14. august 2003 - 07:45 #16
roenving : hvor skulle den str. så?
Avatar billede roenving Novice
14. august 2003 - 09:53 #17
Hvorsomhelst bare inden for <html></html> ...

<script language="javascript" type="text/javascript">
function disableKnap(){
if(document.forms['form1'].txt.value.length>0){
document.forms['form1'].knap.disabled = false;
}
document.onload = disableKnap;
</script>
Avatar billede ameq Nybegynder
15. august 2003 - 08:21 #18
okey vil lige prøve...
Avatar billede ameq Nybegynder
15. august 2003 - 14:46 #19
roenving Den kommer med en fejl

Error: Expected '}'

så lavede jeg en ny line lige over onload og satte } ind, der laver den ikke en fejl men knapper er ikke "on" eller hvad nu man skal kalde det... selv om der står noget i fældet
Avatar billede roenving Novice
15. august 2003 - 16:07 #20
,-(

-- jeg har jo fået sammenblandet document og window, så

<script language="javascript" type="text/javascript">
function disableKnap(){
alert(document.minForm.minInput.value.length+" "+document.minForm.button1.disabled);
if(document.minForm.minInput.value.length>0){
document.minForm.button1.disabled = false;
}
}
window.onload = disableKnap;
</script>
Avatar billede ameq Nybegynder
18. august 2003 - 08:08 #21
så virker det...
hvem skal have poing?
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