takarimasu wrote:
How can i create an input object (text area,select) at runtime ?
By using the createElement method:
/* Check that the host provides the createElement method. */
if(document.createElement) {
/* Create the new element. */
var newElement = document.createElement('textarea');
}
If you create an INPUT element (by passing the string, 'input'), you
can set the type of element using the type property:
if(document.createElement) {
var newElement = document.createElement('input');
newElement.type = 'submit'; // or 'button', or 'image', etc.
}
It's best to set that property immediately (and IE will only let you
do it once).
Once you've created your element, must then insert it into the
document tree. To do that, you need a reference to the element that
will contain the new element, and the use of either the insertBefore
or appendChild methods. Consider the following HTML snippet:
<form action="http://www.example.com/">
<div id="container"></div>
</form>
To insert a TEXTAREA element into the DIV, we need a reference to that
DIV. We also need to check that we can use the appendChild method.
/* Check that the host provides the createElement and
* getElementById methods.
*/
if(document.createElement && document.getElementById) {
/* Get a reference to 'container'... */
var element = document.getElementById('container'),
/* ...and create the new element. */
newElement = document.createElement('textarea');
/* Ensure that no problems have occurred and that the
* DIV supports the appendChild method.
*/
if(element && newElement && element.appendChild) {
/* Initialise various properties of the TEXTAREA element. */
newElement.cols = 30;
newElement.rows = 6;
newElement.name = 'message';
/* Insert the TEXTAREA into the DIV.
*
* If other elements existed within the DIV, appendChild
* would place the TEXTAREA after them all.
*/
element.appendChild(newElement);
}
}
More information on the Document Object Model (DOM)[1] which provides
these features can be found on the World Wide Web Consortium (W3C)
website[2]. Currently, only DOM 1 and 2 are implemented to any useful
degree.
Hope that helps,
Mike
[1] <URL:http://www.w3.org/DOM/>
[2] <URL:http://www.w3.org/>
--
Michael Winter
Replace ".invalid" with ".uk" to reply by e-mail.