Perdón, con el "block" sigue sin funcionar. La funcion aceptarenlace hace el mismo movimiento que cancelarenlace y ahí si que me lo acepta pero sobre la tercera capa (divAlt[2]), sin embargo, en cancelarenlace que es donde quiero cambiar la primera capa es donde no me deja.
Código HTML:
<script>
marcos = document.getElementsByName('marco')
entradaEnlaces = document.getElementsByName('introducirLink')
botonAceptar = document.getElementsByName('botonAceptar')
botonCancelar = document.getElementsByName('botonCancelar')
window.onload = function (){
for(var i=0; i<entradaEnlaces.length; i++){
entradaEnlaces[i].onclick = introducirDireccion;
}
for(var i=0; i<botonAceptar.length; i++){
botonAceptar[i].onclick = aceptarenlace;
}
for(var i=0; i<botonCancelar.length; i++){
botonCancelar[i].onclick = cancelarenlace
}
}
function introducirDireccion(){
var divPadre = this.parentNode;
var divHijo = this;
var divMarco = divPadre.parentNode;
var divAlt = divMarco.getElementsByTagName('div');
cambiarDisplayNodos(divHijo, divAlt[1])
}
//funcion que hace el nodo1 invisible y el nodo 2 visible
function cambiarDisplayNodos(nodo1,nodo2){
if(nodo2.style.display == "none"){
nodo2.style.display = ""
nodo1.style.display = "none"
}
}
function aceptarenlace(){
var direccionFoto = document.getElementById('enlazarfoto').value;
var divPadre = this.parentNode;
var divMarco = divPadre.parentNode;
var divAlt = divMarco.getElementsByTagName('div');
var divImg = divAlt[2].getElementsByTagName('img');
var comienzoDireccion = direccionFoto.substring(0,7)
if(comienzoDireccion.toLowerCase() != "http://"){
alert("No has introducido una dirección valida. Asegurate que comience por http://")
}
else {
divImg[0].src = direccionFoto
cambiarDisplayNodos(divAlt[1],divAlt[2]);
}
}
function cancelarenlace(){
var divPadre = this.parentNode;
var divMarco = divPadre.parentNode;
var divAlt = divMarco.getElementsByTagName('div');
divAlt[1].style.display = "none"
divAlt[0].style.display = "block"
}
function validarURL(url) {
var re=/^http:\/\/\w+(\.\w+)*\.\w{2,3}$/;
return re.test(url);
}
</script>