Tengo unas cajas de comentarios parecidas a las de facebook, que al darle click a un link crea un text area y un input tipo button para enviar el comentario en forma de span y elimina el textarea e input. Mi problema esta en que al darle click a ese link le cambio el visibility a hidden para que no pueda seguir creando textarea e input hasta una vez enviado el comentario pero no puedo lograr que al darle click al input creado vuelva a cambiarse el visibility del link a 'visible' de nuevo. Dejo el codigo JS y el HTML por si alguien puede darme una mano.
Gracias.
Código:
var divs = document.getElementsByTagName('div');
var links = document.getElementsByTagName('a');
for( var i = 0; i < links.length; i++ ){
links[i].onclick = function(){
this.style.visibility = 'hidden'
textarea = document.createElement('textarea');
var boton = document.createElement('input');
boton.type = 'button';
boton.value = 'Comentar';
this.parentNode.appendChild(textarea);
this.parentNode.appendChild(boton);
boton.onclick = function(){
var span = document.createElement('span');
function removerespacios(String){
while(String.substring(0,1) == ' '){
String = String.substring(1, String.length);
}
while(String.substring(String.length-1, String.length) == ' '){
String = String.substring(0,String.length-1);
}
return String;
}
span.innerHTML = removerespacios(textarea.value);
if( span.innerHTML == '' ){ alert('Comentario vacio.'); }
else{ this.parentNode.appendChild(span); }
textarea.parentNode.removeChild(textarea);
boton.parentNode.removeChild(boton);
//aca deberia volverse visible links[i]
}
}
}
Código HTML:
<html> <head> <title>Nucleo Facebook I</title> <style type="text/css"> body{ font: normal normal 12px/15px Verdana; color:#009; } div{ padding:5px; margin:10px 4px; border: 1px solid #090; width:400px;} a{ color:#900; font-size:11px; } a:hover{ color:#090; } textarea{ border: 1px solid #000; background: #fefefe; display:block; width: 98%; margin: 4px auto;} span{ display:block; margin: 5px 0; font-size: 11px; color: #666; padding-top:2px; border-top: 1px dashed #666;} input{ border: 1px solid #666; background: #dedede; margin-left:5px; } </style> </head> <body> <div> <p>Esta es una caja de muestra, si se hace click en el link se debe generar adentro del div un textarea y un input type button</p> <a href="#">I like it</a> <textarea></textarea> <input type="button" value="comentar" /> </div> CAJA 2 <div> <p>Esta es otra caja de muestra, cuando le dan comentar, debe aparecer el comentario dejado dentro de un span y desaparecer el textarea y el button</p> <a href="#">I like it</a> <span>Un comentario</span> </div> <!-- CAJA 1 --> <div> <p>Este es el texto de algo que escribio un amigo tuyo y vas a dejar un comentario si te gusta</p> <a href="#">I like it</a> </div> <div> <p>Este es un texto mas de algo que escribio un amigo tuyo y vas a elegir si te gusta o no te gusta</p> <a href="#">I like it</a> </div> <div> <p>Este es el ulitmo texto de algo que escribio un amigo tuyo y vas a elegir si te gusta o no te gusta</p> <a href="#">I like it</a> </div> <script type="text/javascript" src="script.js"></script> </body> </html>


