webForumDet fria alternativet

Helknäppt variabelnamn i validering

JavaScriptur Javascript

10 svar · 538 visningar · startad av tovelainen

Medlem sedan mars 2003137 inlägg
Frågan#1

Hallå!
Jag har börjat jobba med ett verktyg för nyhetsbrev.
Kunder kan gå in på hemsida och börja prenumerera via ett formulär som plockar upp de data de skriver in, bla epostadress (såklart :-))

Informationen ska till rätt ställe och det hela hålls koll på via sk attribut.
Ett attribut heter Fornamn och ett annat "Email Address". T. ex

Nu uppstår problemet!
Mitt formulär måste ha ett fält med epostadressen >> attributet heter "Email Address". Allt funkar fint - infon hamnar där den ska.

Dvs man inte vill validera epostadressen! Och det vill man ju!
För då finns inte jäkla sätt att få något script överhuvudtaget att funka med en variabel med mellanslag i sig.

Är det nån som vet hur jag kan få ett giltigt variabelnamn att gå vägen om ett javascript (valideringen) och sen skickas till nyhetsbrevsverktyget med sitt default-namn "Email Address"?

Visst är det sjukt av ett företag som gör nyhetsbrevsverktyg att skapa variabelnamn som inte funkar...!!

Hej från Tove W

Medlem sedan dec. 20025 483 inlägg
#2

Hej! :)

Fungerar inte

document.forms["formulärnamn"].elements["Email Address"];

?

Medlem sedan mars 2003137 inlägg
#3

Hallå
Nej jag vet att mellanslag och specialtecken inte funkar.
Men ingen väg runt det hela?
Är det kört?
Återstår bara att dra amerikanarna som uppfunnit verktyget, några mil bakom bilen §e
/Tove

Medlem sedan dec. 20025 483 inlägg
#4

Jag hänger inte riktigt med. Har du ett input-fält som heter "Email Address" och vill validera det?

:)

Medlem sedan mars 2003137 inlägg
#5

Hej Peter
Ja visst är det sjukt!

Alltså jag skulle kunna döpa inputfältet till vad som helst, och lägga en länk till javascript i stället för submitknapp. Men variabelnamnet måste, när formuläret skickas, vara "Email Address" (med mellanslag) för annars lagras inte värdet i det sk attribut som det ska.

Förstår du? Knepigt läge...

Medlem sedan dec. 20025 483 inlägg
#6

Då borde mitt kodförslag ovan fungera. Alltså

...
if (!/fancy_regexp_here/.test(document.forms["formulärnamn"].elements["Email Address"].value)){
  alert("Ogiltig e-postaddress");
  return false;
}
...

:)

Medlem sedan juni 20004 308 inlägg
#7

Du säger variabelnamn men det är egentligen formulärsfältet "Email Address" som du menar antar jag. Det kan du validera enligt Peters exempel. Variabelnamn i javascript kan precis som du säger inte innehålla mellanslag, men fältnamn kan det, utan problem.

Medlem sedan mars 2003137 inlägg
#8

Hm jag ska testa
Återkommer
Tusen tack så länge! :)

Medlem sedan dec. 20025 483 inlägg
#9

Jojoxx skrev:

Du säger variabelnamn men det är egentligen formulärsfältet "Email Address" som du menar antar jag. Det kan du validera enligt Peters exempel. Variabelnamn i javascript kan precis som du säger inte innehålla mellanslag, men fältnamn kan det, utan problem.

Tjena, Johan! :D

Globala variabler borde man kunna skapa med window["foo bar"]. Men å första sidan finns det ingen anledning skapa särskrivna variabler, å andra sidan är det varken praktiskt eller snyggt att skriva så.

Medlem sedan juni 20004 308 inlägg
#10

Jo, det så klart - eftersom det är objektorienterad programmering. Inget är längre vad det ser ut att vara :)

Medlem sedan mars 2003137 inlägg
#11

Hej igen
det fixade sig faktiskt. Peters kod-rad hjälpte. Hade visserligen provat på det viset innan, men måste då ha missat nåt!
Tusen tackar! :e

137 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)