Avatar billede para7 Nybegynder
07. februar 2008 - 10:44 Der er 5 kommentarer og
1 løsning

Auto indsætning er ikke god nok

Jeg har en lille ellers udemærket auto udførelses funktion, hvor jeg kan skive navn i et formfelt og få vist det jeg skriver et andet sted på siden. Jeg kan også få vist et billede, hvis jeg inssætter en billedsti. Men når jeg sletter indholdet i et felt vises der stadig et bogstav eller eet fejlbillede-ikon. Kan nogen putte det manglende ind, jeg er ikke en haj selv. Her er det kogt helt ned:

function showText(f){
  if(f.Vens_navn.value)document.getElementById('VensName').innerHTML = f.Vens_navn.value;
  if(f.Billede.value){
    document.getElementById('Picture').firstChild.setAttribute("src",f.Billede.value);
    document.getElementById('Picture').firstChild.style.display="inline";
  }
}
</script>
<form action="xxx" method="post">
Min vens navn: <input type="text"  name="Vens_navn" onkeyup="showText(this.form)">  - Hej <span id="VensName"></span>
<br>
<br>
Sti til mit billede: <input type="text" name="Billede" onkeyup="showText(this.form)"> - Her ser du mit billede: <span id="Picture"><img style="display:none"></span>
<br>
<br>
<input name=submit1 type="submit" value="Send">
</form>
Avatar billede roenving Novice
07. februar 2008 - 13:00 #1
Du skal nok huske nulstillingerne, og så gøre det fuldt DOM:

<script type="text/javascript">
function showText(f){
  var elm = f.Vens_navn;
  document.getElementById('VensName').firstChild.nodeValue = elm.value ? elm.value : "";
  elm = f.Billede;
  document.getElementById('Picture').firstChild.setAttribute("src",(elm.value?elm.value:""));
  document.getElementById('Picture').firstChild.style.display = elm.value ? "inline" : "none";
}
</script>
<form action="xxx" method="post">
Min vens navn: <input type="text"  name="Vens_navn" onkeyup="showText(this.form)">  - Hej <span id="VensName">&nbsp;</span>
<br>
<br>
Sti til mit billede: <input type="text" name="Billede" onkeyup="showText(this.form)"> - Her ser du mit billede: <span id="Picture"><img style="display:none"></span>
<br>
<br>
<input name=submit1 type="submit" value="Send">
</form>
Avatar billede para7 Nybegynder
07. februar 2008 - 15:13 #2
Det virker jo fint, tak for det. Jeg har udbygget funktionen. Den giver ihvertfald ikke fejl:

function showElement(f){
  var elm = f.Vens_navn;
  document.getElementById('VensName').firstChild.nodeValue = elm.value ? elm.value : "";
var elm = f.Mit_navn;
  document.getElementById('MitName').firstChild.nodeValue = elm.value ? elm.value : "";
var elm = f.Min_PS_Tekst;
  document.getElementById('MitPS').firstChild.nodeValue = elm.value ? elm.value : ""; 
  elm = f.Billede;
  document.getElementById('Picture').firstChild.setAttribute("src",(elm.value?elm.value:""));
  document.getElementById('Picture').firstChild.style.display = elm.value ? "inline" : "none";
}

Send lige et svar for point, tak.
Avatar billede roenving Novice
07. februar 2008 - 15:17 #3
-- bare du husker tricket med at indsætte en 'tom' tekstnode med f.eks. &nbsp; i elementerne  virker det fint !-)

Velbekomme '-)
Avatar billede roenving Novice
07. februar 2008 - 15:23 #4
-- men brug kun 'var elm' een gang !o]
Avatar billede para7 Nybegynder
07. februar 2008 - 15:59 #5
Nååh ja ;) tak for denne gang.
Avatar billede roenving Novice
07. februar 2008 - 16:06 #6
-- og jeg takker for point ;~}
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