Solved

Insert value from dropdown into textarea onclick

Posted on 2009-05-15
8
283 Views
Last Modified: 2012-05-07
I have a form (see code snippet) that has a dropdown menu and a textarea. When someone selects something from the dropdown I want to insert it into the textarea.

How would I do this?
<form id="form1" action="" method="post">

	<select name="options">

		<option>Select a template</option>

		<option>Nobody at home</option>

		<option>Something else</option>

	</select>

	<textarea rows="15" cols="57" name="notes"></textarea><br />

	<input type="submit" value="">

</form>

Open in new window

0
Comment
Question by:synergiq
  • 4
  • 2
  • 2
8 Comments
 
LVL 2

Accepted Solution

by:
divstar earned 250 total points
ID: 24394794
Try this javascript function.

The parameter dropdown is the id of the dropdown menu to be chosen from
The parameter textbox is the id of the textbox to be inserted into

In this example I have ran the function when the menu changes using the onchange attribute


...

<head>

<script type="text/javascript">

function setTextbox(dropdown,textbox)

{

	document.getElementById(textbox).value =      document.getElementById(dropdown).value;

}

</script>

</head>
 

<body>

<form id="form1" action="" method="post">

        <select name="options" id="options" onchange="setTextbox('options','notes');">

                <option>Select a template</option>

                <option>Nobody at home</option>

                <option>Something else</option>

        </select>

        <textarea rows="15" cols="57" name="notes" id="notes"></textarea><br />

        <input type="submit" value="Submit">

</form>

</body>

...

Open in new window

0
 
LVL 10

Assisted Solution

by:bugada
bugada earned 250 total points
ID: 24394873
This may be done without changing your layout but by inserting a simple javascript fuinction in your head block
<html>

  <head>

  <meta http-equiv="content-type" content="text/html; charset=windows-1250">

  <title></title>

   <script type="text/javascript">

      window.onload = function() {

         var form = document.getElementById("form1");

         form.options.onchange = function(e) {

            form.notes.value = this.options[this.selectedIndex].text;

            return true;

         }

      }

   </script>

  

  </head>

  <body>
 

<form id="form1" action="" method="post">

        <select name="options">

                <option>Select a template</option>

                <option>Nobody at home</option>

                <option>Something else</option>

        </select>

        <textarea rows="15" cols="57" name="notes"></textarea><br />

        <input type="submit" value="">

</form>
 

  </body>

</html>

Open in new window

0
 
LVL 2

Author Comment

by:synergiq
ID: 24394960
Hi, both solutions work but is it possible to just add the text from the dropdown on to the end of what's in the textarea rather than replacing it?
0
 
LVL 10

Expert Comment

by:bugada
ID: 24394972
of course change line 9 as follows:



form.notes.value += this.options[this.selectedIndex].text;

Open in new window

0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 10

Expert Comment

by:bugada
ID: 24394993
and try the code with IE, normally IE has strange effects...
0
 
LVL 2

Expert Comment

by:divstar
ID: 24395025
You may wish to add a new line so that it inserts underneath anything already present

In which case line 9 from bugada's code would be
form.notes.value += '\n'+this.options[this.selectedIndex].text;

Open in new window

0
 
LVL 2

Author Comment

by:synergiq
ID: 24395031
Perfect, thanks. I'll split the points as both solutions worked.
0
 
LVL 10

Expert Comment

by:bugada
ID: 24395059
Thank you, a good decision.
Happy that helped you.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Not sure what the best email signature size is? Are you worried about email signature image size? Follow this best practice guide.
Finding original email is quite difficult due to their duplicates. From this article, you will come to know why multiple duplicates of same emails appear and how to delete duplicate emails from Outlook securely and instantly while vital emails remai…
In this tutorial viewers will learn how to embed an audio file in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: : The declaration should display (CODE) HTML5 is supported by the most recent versions of all major browsers…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now