Avatar billede majbom Novice
13. maj 2008 - 11:13 Der er 7 kommentarer og
1 løsning

"disable" hel form

hej experter

jeg har en formular, som indeholder en select, der vha ajax enten disabler eller enabler et text-felt, og det virker egentlig fint efter hensigten, men det tager jo lige lidt tid at hente data fra databasen, og ændre disabled på feltet, fra der bliver valgt en option i selecten, så jeg kunne godt tænke mig at hele formen blev deaktiveret, og evt. viste en gif, der indikerer at den rent faktisk arbejder på sagen, så utålmodige brugere ikke vælger en ny option, i mellemtiden, eller på anden måde roder i det...

jeg håber det gav mening :)

mit ønske kan sammenlignes med tinymce's setProgress(), som gør det samme, til dem der kender funktionen. denne funktion "blur"'er textareaet og sætte en gif-ani ind midt i det hele... det kunne jeg godt tænke mig.

på forhånd tak
Avatar billede roenving Novice
14. maj 2008 - 01:49 #1
Så skal du vel bare skjule formen, når der ændres option, evt. vise et andet element, og så fra din ajax-håndteringskode gøre det omvendte, når data er til rådighed ?-)
Avatar billede majbom Novice
14. maj 2008 - 08:14 #2
ja det kunne jeg osse, jeg ville bare gerne have at den stadig var synlig, bare lidt utydelig...

jeg tror jeg nøjes med at disable selecten ved option-valg og så enable den igen når den er færdig...
Avatar billede roenving Novice
14. maj 2008 - 12:25 #3
Du kan også sætte noget opacity på !-)
Avatar billede majbom Novice
14. maj 2008 - 13:24 #4
på selecten?

hvordan ville du gøre det? :)
Avatar billede w13 Novice
19. maj 2008 - 11:25 #5
Det ku' jo evt. være noget i retning af:

<html>
<head></head>
<body>

<script type="text/javascript">
function setOpacity(o,i){
    o.style.opacity=i/100;
    o.style.MozOpacity=i/100;
    o.style.KhtmlOpacity=i/100;
    o.style.filter="alpha(opacity="+i+")";
    for(var it=0,im=o.getElementsByTagName("*");it<im.length;it++){
        im[it].style.opacity=i/100;
        im[it].style.MozOpacity=i/100;
        im[it].style.KhtmlOpacity=i/100;
        im[it].style.filter="alpha(opacity="+i+")";
    }
}
</script>

<form id="test">
    Testfelt: <input id="test2" type="text" value="Dette er en test">
</form>

<button onclick="setOpacity(document.getElementById('test'),20)">Gør form utydelig</button>
<button onclick="setOpacity(document.getElementById('test'),500)">Gør form tydelig</button>

</body>
</html>
Avatar billede w13 Novice
27. maj 2008 - 13:52 #6
Tak for point! :)
Avatar billede majbom Novice
27. maj 2008 - 14:59 #7
selv tak, og tak for hjælpen :)
Avatar billede olebole Juniormester
27. maj 2008 - 17:23 #8
<ole>

Sorry, men det er ret vildt overkill  =)

w13 >> Årsagen til, du muligvis ikke kunne få alpha filtret til at virke alene på formen i IE, var, at formen ikke havde 'hasLayout' - hvilket er en forudsætning for, at MS' filtre virker:
    http://msdn.microsoft.com/en-us/library/ms530764(VS.85).aspx

Jeg ville mene, dette er nok:

<html>
<head></head>
<body>
<script type="text/javascript">
function setOpacity(o,i){
    o.style.opacity=i/100;
    o.style.MozOpacity=i/100;
    o.style.KhtmlOpacity=i/100;
    o.style.filter="alpha(opacity="+i+")";
}
</script>

<form id="test" style="display:inline-block">
    Testfelt: <input id="test2" type="text" value="Dette er en test">
</form>

<button onclick="setOpacity(document.getElementById('test'),20)">Gør form utydelig</button>
<button onclick="setOpacity(document.getElementById('test'),500)">Gør form tydelig</button>

</body>
</html>

/mvh
</bole>
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