Keuzemenu en tekstvak.

Status
Niet open voor verdere reacties.

Nonkel Jan

Nieuwe gebruiker
Lid geworden
21 jun 2009
Berichten
2
Hallo,

Ik ben aan het proberen om het volgende klaar te krijgen.

Ik heb een keuzemenu gemaakt, en nu is het de bedoeling
als je daarin een keuze maakt dat deze een woord in het tekstvak zet.

Je kan een voorbeeld zien op http://www.sport82.be/site/test.html

Wat zijn voorlopig de problemen.
1. Als men een eerste keuze maakt gebeurd er niks, vanaf een 2de keuze werkt het wel.
2. Men kan niet 2 maal na elkaar dezelfde keuze maken (dit wil ik echt wel hebben)
3. Het plaatst de tekst altijd onderaan (ik wil deze hebben waar de cursor staat, wel telkens op een andere lijn).

Alvast bedankt

de code:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
<!--

function namen() {
    var txtarea = document.post.message;
	var selectmenu=document.post.hoofd;
          selectmenu.onchange=function(){ //run some code when "onchange" event fires
   			 var chosenoption=this.options[this.selectedIndex]//this refers to "selectmenu"
		 		txtarea.value  += chosenoption.value+"\n";
   				selectmenu.blur();
			}
}

//-->
</SCRIPT>
<title>test</title>
</head>

<body>
<form action="" name ="post">
<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
	<tr>
		<td valign="top">
			<SELECT  id ="hoofd" name="hoofd" MULTIPLE SIZE="4" onchange="namen()">
		    	<OPTION VALUE="test0">Test0</OPTION>
				<OPTION VALUE="test1">Test1</OPTION>
				<OPTION VALUE="test2">Test2</OPTION>
				<OPTION VALUE="test3">Test3</OPTION>
				<OPTION VALUE="test4">Test4</OPTION>
				<OPTION VALUE="test5">Test5</OPTION>
				<OPTION VALUE="test6">Test6</OPTION>
			</SELECT>
		</td>
        <td>
        	<textarea name="message" rows="20" cols="35" wrap="virtual" style="width:450px" tabindex="3" ></textarea>
        </td>
	</tr>
</table>
</form>
</body>
</html>
 
Bij mij werkt het als ik je functie "namen" hierin verander:
Code:
function namen() {
    var txtarea = document.post.message;
    var selectmenu=document.post.hoofd;
    var chosenoption=selectmenu.options[selectmenu.selectedIndex]; // hier heb ik de dubbele onChange weggehaald
    txtarea.value  += chosenoption.value+"\n";
    selectmenu.blur();
    selectmenu.selectedIndex = -1; // hier zet ik hem op een niet bestaande optie, zodat de onChange ook uitgevoerd wordt als je twee keer achter elkaar op dezelfde optie klikt
}
 
Bij mij werkt het als ik je functie "namen" hierin verander:
Code:
function namen() {
    var txtarea = document.post.message;
    var selectmenu=document.post.hoofd;
    var chosenoption=selectmenu.options[selectmenu.selectedIndex]; // hier heb ik de dubbele onChange weggehaald
    txtarea.value  += chosenoption.value+"\n";
    selectmenu.blur();
    selectmenu.selectedIndex = -1; // hier zet ik hem op een niet bestaande optie, zodat de onChange ook uitgevoerd wordt als je twee keer achter elkaar op dezelfde optie klikt
}

Alvast bedankt.
Vraag 1 en 2 zijn hiermee opgelost.
blijf over vraag 3

ik zal ook willen dat ik midden in een lijst nog kan toevoegen, dat gaat voorlopig nog niet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan