14. februar 2007 - 10:59
Der er
11 kommentarer og 1 løsning
ændre tekst på en label
Jeg har lavet sådan en lille function til at ændre en tekst på en label. Den virker fint i IE, men firefox er bare ikke sagen. kan man nemt passe det til, så det køre i firefox? function setError(fieldName, errText) { //document.getElementById(fieldName + 'Err').innerText = errText document.getElementById(fieldName + 'Err').innerHTML = errText if (errText) document.getElementById(fieldName).focus() }
Annonceindlæg fra Deloitte
14. februar 2007 - 11:09
#1
kalder du den sådan her? setError('labelId','hehehe') og så forstår jeg ikke hvorfor du skriver + 'Err' sender du da ikke hele navnet med over? og if_(errText) giver ikke mening da text ikke er en boolean.
14. februar 2007 - 11:25
#2
den blir kaldt fra en anden function, men ja det er en tekst streng grunden til der kommer +'Err' er at fejl feltet hedder feltetnavnet+Err Den sidste linje er uinteresent, da det er selve det at ændre teksten på label som fejler.
14. februar 2007 - 11:29
#3
<script type="text/javascript"> function setError(fieldName, errText) { //document.getElementById(fieldName + 'Err').innerText = errText document.getElementById(fieldName).innerHTML = errText } </script> og denne label <label id="labelet" name="labelet" onClick="setError('labelet','hehehe')">hahaha</label> virker fint i begge hos mig.
14. februar 2007 - 11:45
#4
testede også med + 'Err' og det virkede altså også.. ændrede selvfølgelig mit labels id til labeletErr
14. februar 2007 - 12:17
#5
Virker også hvis jeg bruger text felter og trykker på men laver jeg en <script language="javascript"> function setError(fieldName, errText) { //document.getElementById(fieldName + 'Err').innerText = errText document.getElementById(fieldName + 'Err').innerHTML = errText //if (errText) document.getElementById(fieldName).focus() } </script> <form> <label class="red" id="testerErr"></label> <button onclick="setError('tester','fejl')"></button> </form> så er det som om siden reloader og teksten forsvinder hurtigt. siden burde jo ikke reloade på en knap.
14. februar 2007 - 12:37
#6
prøv at lave din knap sådan her <input name="send" value="Send!" onclick="setError('tester','fejl')">
14. februar 2007 - 12:38
#7
oops.. sådan her <input type="button" name="send" value="Send!" onclick="setError('tester','fejl')"> det skal virke.
14. februar 2007 - 12:38
#8
og et svar:)
14. februar 2007 - 14:25
#9
Jeg har fundet ud af hvor kæden hopper af nu. Har en function der løber flere tests igennem. v = valReqField("firstname") && v; denne sætningen medføre i firefox at den hopper ud af functionen og retunere en true. men i IE løber den fint igennem og sumere op. Kan man nemt fikse det, så det køre i firefoxen?
14. februar 2007 - 14:46
#10
jeg kan ikke selv se det desværre i det der.. af hvad jeg kender til javascipt ville jeg fjerne ; og skrive firstname med '' rundt om
15. februar 2007 - 11:34
#11
Du bør ikke bruge innerHTML, men den skulle dog virke i alle browsere, medmindre du bruger xhtml 1.1 eller strict ... -- og buttons og input type="button" virker som submit-knapper i en hel del browsere, så der skal man lave en return false; efter et statement i onclick-events ...
15. februar 2007 - 11:46
#12
Fandt fejlen. var i en masse af min autogenerede form felter var der ikke sat id, kun name. Virkede da jeg fik det med :-)
Vi tilbyder markedets bedste kurser inden for webudvikling