Avatar billede tjacob Juniormester
06. maj 2012 - 09:02 Der er 5 kommentarer og
1 løsning

kombinere code behind og Javascript

Jeg har en side med 80 textboxe, nogle dropdownboxe og nogle knapper.
Når bruger har tastet ind, trykkes på knappen send, og følgende skal ske:

-1) Alle textboxe valideres
-2) Data fra textboxe skrives til database
-3) Data fra textboxe vises på ny side

Valideringen (omfattende!) foregår med Javascript, og resten skal foregå i code behind i en asp:control event (eller bare sub).

Jeg har stort set ingen asp:controls på siden. "Send" knappen er en almindelig HTML<input> med onclick= min Javascript validering. -Det kører fint:
Hvis validering er succesfuld indlæses alle textboxe i en streng eller array.
Hvordan kører jeg nu videre til code behind?
med dataene som parameter?

Eller skal jeg starte i code behind med asp:knap, og
kalde Javascript-valideringen derfra? (hvordan?)
Avatar billede keysersoze Guru
06. maj 2012 - 11:38 #1
Jeg tror at jeg ville lave en asp:button med en onclick-event på - og medmindre du absolut har behov for din streng eller array så bare forespørge de enkelte formfelter i eventen og gøre med dem hvad der nu skal gøres. Og så ville jeg samtidig overveje om javascript-valideringen var den rigtige vej frem - den er fin at have men det er også let at slå javascript fra så serveren bør også validere, specielt hvis det er vigtige data.
Avatar billede mireigi Novice
07. maj 2012 - 14:19 #2
Nedenstående er et pseudo-eksempel på, hvordan det kan/bør laves.

JavaScript
function validateForm()
{
  ...
  ...
  ...
  return true or false;
}


HTML
<form onsubmit="return validateForm()" method="post" action="postback.aspx">
  ...
  ...
  ...
</form>


Code behind (postback.aspx)
pageload()
{
  object[] formFields = Request.Form();
  for each (object field in formFields)
  {
      ...
      ...
      ...
  }
}
Avatar billede tjacob Juniormester
07. maj 2012 - 18:20 #3
Tak for kommentarerne.

keysersose>> Det med streng/array var en tanketorsk fra min side. Selvfølgelig vil jeg indlæse direkte i proceduren.
Mht valideringen, var det et valg fra starten at bruge Javascript, og det vil være besværligt at lave om nu.
Men det er ikke et issue mht til om Javascript er tilgængeligt, da det primært vil være mig selv og kolleger der vil anvende det.

mireigi>> Ja, selvfølgelig! Det er så simpelt når man ved det.
Lægger du et svar?
Avatar billede mireigi Novice
07. maj 2012 - 18:39 #4
Behold bare pointene :)
Avatar billede tjacob Juniormester
10. maj 2012 - 17:44 #5
Jeg takker endnu en gang for hjælpen, og lukker spm.

Ide til Eksperten:

I en situation som denne burde man kunne donere points til en pulje, der gik til velgørende formål eller lignende når den var stor nok. Det kunne sagtens laves med noget sponsorering.
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

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