Avatar billede Slettet bruger
09. oktober 2008 - 17:48 Der er 7 kommentarer og
1 løsning

Opfatte indhold af Select felt, når lavet med innerHTML

Hej Eksperter

Jeg har den her knap der laver en boks med et select felt i.
I samme boks er der også en form og en submit.

Når jeg trykker på knappen, skal jeg så bruge indeholdet af select feltet, men lige meget hvad jeg vælger, så skriver den kun den første option.
Hvis jeg tester koden så den ikke er innerHTML, virker den fint.
Jeg tester den med en klassisk, se om feltet er tomt og koden ser således ud:
Lav boksen

var htmlen=null;
function vPic(name)
{
htmlen= document.createElement('<DIV>');
htmlen.innerHTML="<table border = '1' height = '100' width = '200'><tr><td bgcolor='white' valign = 'top'><form action='' method='post' onsubmit='validering();return false;'><select name='Billede'><option value=>Vælg billede</option><option value='TIIimagefile17388.gif'>TIIimagefile17388.gif</option></select><input type='submit' value='Indsæt'></form></td></tr></table>"
htmlen.style.position = 'absolute';
var ref = document.getElementsByName(name);
htmlen.style.left = (ref[0].offsetLeft + ref[0].offsetWidth)+10 + "px";
htmlen.style.top = (ref[0].offsetTop + ref[0].offsetHeight)+50 + "px";
document.body.appendChild(htmlen);
}

Og valideringen:

function validering()
  {
  error = 0;
  if((document.forms[0].Billede.value=='') && (error==0)) 
  {       
    alert('Du skal vælge et billede!');
    document.forms[0].Billede.focus();
    error = 1;       
  }           

  if(error == 0)
  document.forms[0].submit();   
  }

Håber i kan hjælpe.. Skal aflevere det i aften inden jeg smutter til USA i nat, så har ret travlt :P

Mvh
Bjarke
Avatar billede olebole Juniormester
09. oktober 2008 - 18:25 #1
<ole>

Jeg kan ikke generere fejl med den kode, du viser - så skal du have hjælp, må du vise den kode, der ikke virker  =)

Derudover bør du bruge lowercase tagName i createElement - ligesom innerHTML aldrig har været valid i nogen standard og desuden er uhensigtsmæssig at bruge - og til slut bruger du en sammenblanding af gammel DOM fra årtusindskiftet og moderne DOM.
Det resulterer næppe i fejl i den kode, du har vist, men god kode vil jeg i hvertfald ikke kalde det  =)

/mvh
</bole>
Avatar billede Slettet bruger
09. oktober 2008 - 19:13 #2
Jeg har så fundet fejlen..
Den kan ikke have en form uden om sig.. Er der en måde at få info fra et select felt og over i en input, uden at bruge form?

Mvh
Bjarke, der ved at hans kode er skod.. men bare ikke er bedre til js ;)
Avatar billede olebole Juniormester
09. oktober 2008 - 19:21 #3
Der er intet somhelst i vejen for, der kan være en form udenom. Fejlen ligger som sagt ikke i koden her, men i koden udenom - eller i måden den viste kode spiller sammen med den øvrige kode. Vi kommer det nok ikke nærmere, før du viser resten af koden  =)
Avatar billede Slettet bruger
09. oktober 2008 - 19:31 #4
hehe jammen det er mange hundrede linjers kode i en fræk blanding af asp og js.. Men jeg har testet det i et andet doc, og der virker det indtil jeg smider <form> foran og </form> bagefter.. så noget HAR det altså at sige..
Men tror bare jeg laver det på en helt anden måde så..
Avatar billede olebole Juniormester
09. oktober 2008 - 19:35 #5
Ehhhh ... nester du to forms i hinanden? Ja, det kan man ikke, men du bliver nødt til i det mindste at forklare, hvad det er, du vil. Der bør ikke kunne opstå situationer, hvor nestede forms er en nødvendighed. Sker det, er der tale om en designfejl.

ASP-koden kan jeg ikke bruge til noget i denne forbindelse, så det er såmænd bare et link, jeg er interesseret i  =)
Avatar billede Slettet bruger
09. oktober 2008 - 19:49 #6
hehe, link øhhm ja.. det er inde i et komplekst lukket system så bliver lidt besværligt :(

Men det jeg vil er:
Jeg skal have et input felt og en knap
Når man trykker på kappen skal der komme en boks/popup hvori der er en liste
I denne liste skal jeg kunne vælge et eller andet og trykke på en knap
Så skal det der står i value="" ryge ind i input feltet og boksen skal forsvinde..

Min kode virke fint for sig selv, men ikke når der er forms rundt om.. Da man ikke kan have form i form..

Mvh
Bjarke
Avatar billede Slettet bruger
09. oktober 2008 - 23:06 #7
Lige meget, også dårlige forhold jeg giver jer ;)

Mvh
Bjarke
Avatar billede olebole Juniormester
09. oktober 2008 - 23:10 #8
Nej, hvis du kommer ud i noget à la:
    <form>
    <form>
    </form>
    </form>

- ender du med en invalid DOM-struktur, som ikke vil virke  =)
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