Permalänk

Javascript nybörjare hjälp

Hej!
Jag ser att det är fler från min utbildning som har problem med uppgiften.
Jag är total nybörjare på javascript. vad som ska göras är ett formulär där man ska mata in namn, e-mailadress, antal övernattningar,
radioknapp för student och ej student och en submit-knapp.
Bland annat ska fälten för namn, emailadress och antal övernattningar kontrolleras så inte några felaktiga tecken/bokstäver/siffror matas in i dessa fält.
redan där körde jag fast. Jag har ännu inte kommit till uträkningsdelen men jag såg på forumet att en annan hade fått hjälp med det så där ska jag titta sedan.

Min kod hittills är:
<script type = text/JavaScript>

function skicka() {

if(document.getElementById.email.value.indexOf('@',.) == -1);
{
alert ("Ogiltig epostadress!");
return false
}
}
</script>
<p> E-mail: <input id="email" type="text" name="E-mail" onChange="skicka()"/></p>

Egentligen ska felmeddelande visas i en div-tagg men det vet jag inte hur man gör.

Vi har inlämning imorgon men det klarar jag nog inte.
Vad gör jag för fel?
Tacksam för svar.
Malinka90

Permalänk
Medlem

använd innerHTML

Visa signatur

I'm Winston Wolfe. I solve problems.

Permalänk

Du använder inte din getElementByIDmetod rätt...
http://msdn.microsoft.com/en-us/library/ms536437(VS.85).aspx

edit: du bör inte använda onchange. Den kommer alltså varje gång du skriver en bokstav kolla ifall din mailadress innehåller ett "@"... Men det är ju inte direkt den första bokstaven som man skriver vilket innebär att man inte kan skriva något annat... Du bör använda onsubmit som den andra från din utbildning gjorde...

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av KurreKula
edit: du bör inte använda onchange. Den kommer alltså varje gång du skriver en bokstav kolla ifall din mailadress innehåller ett "@"... Men det är ju inte direkt den första bokstaven som man skriver vilket innebär att man inte kan skriva något annat... Du bör använda onsubmit som den andra från din utbildning gjorde...

Nej, onchange fungerar snarare såhär:

Citat:

The onchange event occurs when a control loses the input focus and its value has been modified since gaining focus. This attribute applies to the following elements: INPUT, SELECT, and TEXTAREA. -- http://www.w3.org/TR/REC-html40/interact/scripts.html#adef-on...

men onsubmit är fortfarande lämpligare (och så fattas det även ett return framför anropet för att input-elementet ska ignorera felaktiga tecken om onchange skulle fungerar mer som du beskrev (inte så viktigt, men)). Eller kanske inte "lämpligare", bara enklare. Om du använder onsubmit kan du (naturligtvis) inte förens form:en skickas (eller direkt innan kanske är ett bättre uttryck) kolla vad som är fel, om du använder någon smartare hantering kan du säga åt användaren under tiden form:en fylls i, typ använda något ondirektefterettteckenändratsiinputelementet-liknande. Se till att få en fungerande lösning med onsubmit först hursomhelst. div-elementet kan du för övrigt skapa med createElement och text med createTextNode, och appendChild för att lägga ihop dem sen.

Redigering: du blandar för övrigt XHTML och HTML verkar det som.

Permalänk
Citat:

Ursprungligen inskrivet av cic
Nej, onchange fungerar snarare såhär: men onsubmit är fortfarande lämpligare (och så fattas det även ett return framför anropet för att input-elementet ska ignorera felaktiga tecken om onchange skulle fungerar mer som du beskrev (inte så viktigt, men)). Eller kanske inte "lämpligare", bara enklare. Om du använder onsubmit kan du (naturligtvis) inte förens form:en skickas (eller direkt innan kanske är ett bättre uttryck) kolla vad som är fel, om du använder någon smartare hantering kan du säga åt användaren under tiden form:en fylls i, typ använda något ondirektefterettteckenändratsiinputelementet-liknande. Se till att få en fungerande lösning med onsubmit först hursomhelst. div-elementet kan du för övrigt skapa med createElement och text med createTextNode, och appendChild för att lägga ihop dem sen.

Redigering: du blandar för övrigt XHTML och HTML verkar det som.

Hmm, okej drar tillbaka mitt utlägg om hur onchange fungerar. Länge sen man skrev JS och utgick enbart ifrån namnet och vad onchange gör i C#... Men som du också sa så är onsubmit mer passande

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk

Javascript

Tack för hjälpen.
Ska försöka mig på det en gång till.