javascript inbrengen in page van website werkt niet

Status
Niet open voor verdere reacties.

sgrav000

Verenigingslid
Lid geworden
8 sep 2000
Berichten
929
Ik probeer een javascript in te brengen op een pagina in mijn website.

In de head breng ik in:
<title>Formulieren, lezen van keuzelijsten.</title>
<script type="text/javascript">
function test()
{ keuze =""
for (teller=0; teller<document.form1.test.length; teller++)
{ if(document.form1.test.options[teller].selected)
keuze+="" + document.form1.test.options[teller].value
}
window.alert('Je hebt gekozen voor:\n\n' + keuze)}
</script>

In de body breng ik in:
<form name="form1">
Maak een keuze: <P>
<select name="test">
<option value="Mokka">Mokka
<option value="XenoX">XenoX
<option value="vinTage">vinTage
<option value="Joël">Joël
<option value="Fangorn">FangorN
<option value="Dennis">Dennis
<option value="Murfy">Murfy
<option value="Nemesiskoen">Nemesiskoen
</select>
<input type="button" value="Kies een naam" \ onClick="test()"></form>

Als ik nu op Kies een naam druk, gebeurt er niets. Kan iemand mij vertellen wat ik verkeerd doe.

sgrav000
 
Je moet sowieso een regel afsluiten met ; dus bijvoorbeeld keuze = ""; Daarnaast kun je in je browser kijken of er een javascript gegeven wordt en deze fout voor fout herstellen.
 
keuze=

Bedankt hackerfrans voor jouw reactie.
Jij zegt dat ik sowieso een regel afsluiten met ; dus bijvoorbeeld keuze = ""; .
Zou jij mij de exacte syntaxis willen aangeven t.a.v. waar die woorden moeten komen te staan met alle eventuele begeleidende tekens. Dus
b.v. als het gaat om [<option value="Mokka">Mokka] dan zit ik met de volgende vragen:
Hoe moet keuze = ""; toegevoegd worden?
Alles is in het Engels; moet er geen Engels woord gebruikt worden als choice=?
Wat moet er achter "keuze="komen te staan om de regel af te sluiten? ;?

Graag jouw reactie,

sgrav000
 
Plaats dit in je head, of pas je script als volgt aan :
Code:
<script type="text/javascript">
var keuze = "";
function test() {
var d = document.getElementById("test");
for (teller = 0; teller < d.length; teller++) {
if (d.options[teller].selected) {
keuze = d.options[teller].value;
};
};
alert('Je hebt gekozen voor:\n\n' + keuze);
}; 
</script>

Het volgende zet je in je body, of pas wat je hebt aan :

HTML:
<p>Maak een keuze:</p>
<p><select id="test"> 
<option value="Mokka">Mokka 
<option value="XenoX">XenoX 
<option value="vinTage">vinTage 
<option value="Joël">Joël 
<option value="Fangorn">FangorN 
<option value="Dennis">Dennis 
<option value="Murfy">Murfy 
<option value="Nemesiskoen">Nemesiskoen 
</select></p>
<input type="button" value="Kies een naam" onClick="javascript:test();">

Hier is een voorbeeld dat werkt.

Greetz : Jer:cool:en.
 
Laatst bewerkt:
Ik zie dat jeroen me voor is, maar ik zou wel even de options afsluiten, dus zo:

Code:
<html>
<head>
<title>Formulieren, lezen van keuzelijsten.</title> 

</head>
<body>
<script language="javascript" type="text/javascript">
<!--
function test()
{
	window.alert(document.form1.testen.value);
}
//-->
</script>
<form name="form1">
Maak een keuze: <P> 
<select name="testen"> 
<option value="Mokka">Mokka</option>
<option value="XenoX">XenoX</option>
<option value="vinTage">vinTage</option> 
<option value="Joël">Joël</option> 
<option value="FangorN">FangorN</option> 
<option value="Dennis">Dennis</option> 
<option value="Murfy">Murfy</option> 
<option value="Nemesiskoen">Nemesiskoen</option> 
</select><p>
<input type="button" name="kies" value="Kies een naam" onClick="test();">
</form>

</body>
</html>

Deze is trouwens ook eenvoudiger te begrijpen, maar werkt alleen als er maar een keuze kan zijn.
 
Dat van hackerfrans is veel eenvoudiger dan mijn antwoord. :thumb:
Het kan ook door je javascript in de onClick van je button te steken :

HTML:
<input type="button" value="Kies een naam" onClick="javascript:alert('Je hebt gekozen voor:\n\n' + document.getElementById('test').value);">

Hier een voorbeeld ervan dat hetzelfde resultaat heeft als het eerste script.
Er staat hier ook niets meer in de head van je document. Kijk gerust naar de bron van het voorbeeld.

Greetz : Jer:cool:en.
 
Laatst bewerkt:
Direct in de knop kan idd ook, maar ik ging ervan uit dat er meer zou volgen, vandaar de extra functie.
 
script

Dank allemaal voor jullie reacties. Helaas begon niets te werken.
Dat kan ook komen doordat ik een programma gebruik waarin ik de website bouw á la
wysiwyg (Webbouwer van Davilex). Allicht kan ik wat werken met HTML en Javascript en hoe Javascript in te passen in HTML. Daar gebruik ik Dreamweaver voor waar nodig. Daarin de code bestudeerd en eventuele zichtbare fouten verbeterd. Tot op heden lukte het wel javascripts in mijn homepage in te passen met de mogelijkheden van Webbouwer daarvoor (o.a. teller, paginaprinter). Dit lukt me van geen kanten. Ik heb er wel veel van geleerd (b.v. wat in de head moet, in de body plaatsen, script in onclick inbrengen). Alle uiterlijke tekenen zijn er: radiobuttons, knoppen. Alleen de keuzeknop laat zich niet indrukken. De grote vraag van mijn was wel: wat wordt er met de informatie gedaan als je een keuze maakt en de keuzeknop indrukt. Het gaat namelijk om die informatie. Ik ben daarom weer in mijn HTML cursus gedoken en heb daar gezien dat alles zonder Javascript is af te handelen. In de cursus wordt aanbevolen een cgi bin te gebruiken voor het afhandelen van de resultaten. Dat zou beter gaan dan een eenvoudige e-mailafhandeling. Ik heb een gratis cgi programma gevonden: Freecgi. Alles werkt nu behalve dat het cgi programma mijn username als ongeldig bestempeld. Ik heb ze daarover gisteren een e-mail gestuurd en nog geen antwoord teruggehad.

Natuurlijk was datgene dat ik jullie voorlegde niet het script dat ik in mijn website probeerde in te bouwen. Dat wil zeggen de namen waren anders. er waren ook minder opties. Hieronder geef ik jullie het uiteindelijke script zonder de namen:
<FORM METHOD="POST" name="form1"
ACTION="http://www.free-cgi.com/freecgi/form2mail/alternate.php">
<INPUT TYPE=HIDDEN NAME=Username VALUE="">
Maak een keuze: <P>
<select name="testen">
<option value=""></option>
<option value=""></option>
<option value=""></option>
<option value="op een andere manier">op een andere manier</option>
</select><p>
<INPUT TYPE=SUBMIT NAME=Submit VALUE="Maak een keuze">
<INPUT TYPE=RESET NAME=Reset VALUE="Wis je keuze">

Is dit een goed script veronderstellende dat achter VALUE een username is ingevuld
en dat ook bij de drie eerste opties value en naam is ingevuld (zoals bij 4)?

sgrav000
 
Alle gegeven mogelijkheden werken anders wel perfect :

Kijk maar op de volgende link om die online uit te testen voor het script in de head van het document :

eerste mogelijkheid

en voor de tweede met het script in de knop :

tweede mogelijkheid

Eigenaardig dat dat bij jou niet zou werken.

Greetz : Jer:cool:en.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan