Avatar billede forceprogrammer Nybegynder
27. januar 2005 - 14:08 Der er 6 kommentarer

Er det muligt at oprette formelementer "on the fly"

Hej. Jeg har brug for at kunne tilføje data til en webform on the fly. Kan det lade sig gøre?

Jeg vil altså kunne sige noget i retning af

document.forms["Form1"].tilføjnote("navn",værdi)

Altså noget i den retning således at det på normalvis bliver posted til serveren ved submit via den action der er angiveet i form-tagget.

Håber jeg er til at forstå.
Mange hilsner herfra.
Avatar billede thomas_yde Nybegynder
27. januar 2005 - 14:13 #1
function addInput(form,vName,vValue,vType){
new input = document.createElement("INPUT");
input.name = vName;
input.value = vValue;
input.type = vType
form.appendChild(input);
}
addInput(document.forms["Form1"],"nytnavn","en værdi","text");

type = {"hiden","text","password".....}
Avatar billede roenving Novice
27. januar 2005 - 15:01 #2
Hov

type = {"hidden","text","password".....}
Avatar billede thomas_yde Nybegynder
27. januar 2005 - 15:02 #3
ja ups, der smuttede lige et "d" :-)
Avatar billede olebole Juniormester
27. januar 2005 - 17:43 #4
<ole>

IE skodder frygteligt, hvad angår at tilknytte en name-attribut - så der er man nødt til at skrive:
  new input = document.createElement("<input name=\"" + vName + "\">");
- hvilket andre browsere ikke forstår. Den samlede løsning bliver altså:

<script type="text/JavaScript">
function addInput(form,vName,vValue,vType){
    var input, ua = navigator.userAgent.toLowerCase();
    input = (uA.indexOf("msie")!=-1 && ua.indexOf("opera")==-1)? document.createElement("<input name=\"" + vName + "\">") : document.createElement("INPUT");
    input.name = vName;
    input.value = vValue;
    input.type = vType
    form.appendChild(input);
}
addInput(document.getElementById("Form1"),"nytnavn","en værdi","text");
</script>

Her forudsættes det i øvrigt, at formen har id="Form1". Der er ingen grund til at bruge 'document.forms["FORMNAVN"]', da det er en syntaks på vej ud  :)

/mvh
</bole>
Avatar billede forceprogrammer Nybegynder
30. januar 2005 - 16:49 #5
perfekt olebole :)
Tak for det.
Smid lige et svar
Avatar billede olebole Juniormester
30. januar 2005 - 17:37 #6
*griiiiib*  ;o)
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