Prueba así:
Código Javascript
:
Ver originalfunction camb(c){
switch (c.nodeName.toLowerCase()){
case 'input':
var t=document.createElement('textarea');
t.setAttribute('cols','20');
t.setAttribute('rows','5');
t.setAttribute('id','tarea'+c.id.substr(1,c.id.length-1));
t.setAttribute('name','tarea'+c.name.substr(1,c.name.length-1));
t.setAttribute('onblur','camb(this);');
t.value = c.value;
c.form.insertBefore(t,c.nextSibling);
t.focus();
break;
case 'textarea':
var i=document.createElement('input');
i.setAttribute('type','text');
i.setAttribute('id','c'+c.id.substr(5,c.id.length-1));
i.setAttribute('name','c'+c.name.substr(5,c.name.length-1));
i.setAttribute('onfocus','camb(this);');
i.value = c.value;
c.form.insertBefore(i,c);
break;
}
c.parentNode.removeChild(c);
}
Código HTML:
Ver original<form name="a" action="" method="post"> <input type='text' id="c1" name='c1' onfocus="camb(this);" /> <input type="text" id="c2" name="c2" onfocus="camb(this);" /> <input type="submit" value="Enviar" />
En vez de ocultar y mostrar los campos, los vas borrando y creando. Esto es más útil porque sino aunque esté oculto te llegan los resultados del input y el textarea.
Saludos (: