15. juli 2005 - 13:33Der er
10 kommentarer og 1 løsning
Indsætte en variabel i form, action
Hejsa
Jeg vil meget gerne indsætte en variabel i min <form action="">
Variablen hedder activediv, og bruges i en side med flere divisions til at skifte mellem disse. Der er en submit knap i alle disse divisions og det jeg så ønsker at opnå er at når brugeren trykker gem i f.eks. "tekstdiv" gemmes siden, og brugeren transporteres tilbage til den samme div.
Jeg har alt scriptingen på plads, så det eneste jeg mangler er altså følgende linje:
Prøv enten en forklaring i lidt mere 'standardiseret' sprog - eller i et sprog, der slet ikke har noget med kodning at gøre. Forklaringen er ret utydelig, som den er :)
- hvad er'divisions' - og hvad betyder: "brugeren transporteres tilbage til den samme div"? Hvor kommer variablen fra - og på hvilken brugerhandling skal den sættes på din action? Hvordan submitter du din form ... via JS eller med en 'ægte' submitknap?
En division er et <div> tag, som jeg skjuler/viser vha. en javascript funktion efter behov.
Siden er opdelt i flere <div>'s som indeholder en del af den samlede formular.
Når en bruger submitter formularen til en database handler gemmes hele formularen.
Hvis brugeren f.eks. var i gang med at rette i den division der hedder "tekstdiv" ville det jo være rart for brugeren automatisk at få vist denne bagefter.
Den eneste måde jeg kan gøre dette på er at sende et parameter med til handleren, som returneres til siden når den er opdateret i databasen.
Altså. Hvilken <div> er activediv (dette er en var i mit JS script), og hvordan får jeg den ind i min action=""?
For det første virker det helt sort, du roder rundt med både en get- og en post-query i samme form. Det ses af og til, men det har ved Gud aldrig været smart :)
Variabler, der medsendes i en forms action, sendes som GET-variabler - så det har jeg fra din kode :)
En enorm mængde spørgsmål på Eksperten skyldes dårlig navngivnings vaner ... herunder felter med navnet 'action' og knapper, der hedder 'submit'. Hvad der sker i din form lige nu, er uden interesse. God kodeskik er at skrive sin kode, så enhver koder kan overtage den og videreudvikle på den uden problemer. Derfor bruger man ikke den slags navne ;o)
Jeg havde overset en ampersand i din action - hvorfor formen naturligvis bør se sådan ud:
Du færdes i dårlige kredse. Det er svært at se en fornuftig begrundelse for at rode sig ud i at fordele sit varable-scope på både GET og POST. En fjollet, lille modegrille, der i værste fald kan blive fatal, hvis man ikke er yderst opmærksom :)
Synes godt om
Ny brugerNybegynder
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.