Avatar billede gummisko Nybegynder
04. oktober 2005 - 22:10 Der er 9 kommentarer og
2 løsninger

enable disable submit knappen

Hejsa
Er det korrekt, at hvis man skal have submit-knappen ændret fra disabled til enabled, når der sker ændringer et sted i formularen, så skal der til hvert felt i formularen indsættes onKeyUp ell. lign.???

fx som denne:
<script language="javascript">
function check() {
  if (document.form.text.value=="")
    document.form.submit.disabled = true;
  else
    document.form.submit.disabled = false;
}
</script>
<BODY onLoad="check()">
<form name="form">
<input type="text" name="text" onKeyup="check()"><BR>
<iNPUT type="submit" value="submit" name="submit">
</form>
</BODY>

Har man ikke en funktion, som kan se, at der er sket en ændring i formularen et eller andet sted, og submit-knappen derfor skal enables????

MVH
BM
Avatar billede softspot Forsker
04. oktober 2005 - 22:18 #1
Ville det ikke være OK at have en funktion, som på onload-eventet, satte onkeyup-eventet på alle input-kontroller af typen text, checkbox, radio, osv. op til at pege på din check-funktion? Så har du i det mindste kun funktionaliteten liggende en gang og ikke på hvert element...
Avatar billede olebole Juniormester
05. oktober 2005 - 00:57 #2
<ole>

- man kunne jo også bare 'lytte' på document-objektets events, afgøre event'ens ophav - og handle derefter:

var changed = false;
function mClick(e) {
    e = window.event? window.event : e;
    var sElm = window.event? e.srcElement : e.target;
    if (sElm.tagName=="INPUT"&&(sElm.type=="checkbox"||sElm.type=="radio")) changed = true;
}
function kUp(e) {
    e = window.event? window.event : e;
    var sElm = window.event? e.srcElement : e.target;
    if (sElm.tagName=="INPUT"&&sElm.value!=sElm.defaultValue) changed = true;
}
window.onload = function() {
    document.onclick = mClick;
    document.onkeyup = kUp;
}
</script>

- så er 'changed' true, hvis der på et tidspunkt har været klikket på en checkbox eller radio - eller hvis der har været skrevet noget i et tekstfelt

/mvh
</bole>
Avatar billede gummisko Nybegynder
05. oktober 2005 - 06:01 #3
lyder spændende -hvordan styres på submit-knappen??

<input name="submit" type="submit" disabled="true" value="send">

til

<input name="submit" type="submit" disabled="false" value="send">
Avatar billede roenving Novice
08. oktober 2005 - 22:14 #4
F.eks. ved at udbygge den til:

<script type="text/javascript">
var changed = false;
function mClick(e) {
    e = window.event? window.event : e;
    var sElm = window.event? e.srcElement : e.target;
    if (sElm.tagName=="INPUT"&&(sElm.type=="checkbox"||sElm.type=="radio")&&sElm.checked)
      sElm.form.submitKnap.disabled = false;
}
function kUp(e) {
    e = window.event? window.event : e;
    var sElm = window.event? e.srcElement : e.target;
    if (sElm.tagName=="INPUT"&&sElm.value!=sElm.defaultValue)
      sElm.form.submitKnap.disabled = false;
}
window.onload = function() {
    document.onclick = mClick;
    document.onkeyup = kUp;
}
</script>

-- bemærk, at jeg har ændret knappens navn til submitKnap, ellers får du nok en javascript-fejl !-)
Avatar billede gummisko Nybegynder
09. oktober 2005 - 10:17 #5
okay - og tak!!
smid lige et svar
Avatar billede olebole Juniormester
09. oktober 2005 - 20:38 #6
- hvem?  :)
Avatar billede roenving Novice
09. oktober 2005 - 20:42 #7
-- det må da være dine, for jeg satte jo bare en krølle på !-)
Avatar billede olebole Juniormester
09. oktober 2005 - 21:03 #8
- nuvel, men med alle de points er der da rigeligt til en deler. Læg et svar, Jes  ;o)
Avatar billede roenving Novice
09. oktober 2005 - 21:05 #9
Oki, men en krølle = 15 point, resten er jo oles '-)
Avatar billede roenving Novice
10. oktober 2005 - 00:36 #10
*lol*

-- laver lige en overførsel !-)

Her: http://exp.dk/spm/654672

-- els tak for point ;~}
Avatar billede olebole Juniormester
10. oktober 2005 - 00:50 #11
- og tak fra mig også  :)
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