Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - pedro,,

Páginas: 1 ... 50 51 52 53 54 [55] 56 57 58 59 60 ... 65
1081
Te me adelantaste Ogramar,  ;D

Así que solo dejo el código que había preparado como ejemplo.

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo resta fechas</title><meta charset="utf-8">
<style>
#pulsador {padding:15px; width: auto; display: inline-block; margin: 25px;
cursor: pointer; color: yellow; border-radius: 40px; background: purple;}
.caja{border: solid 2px blue;}
</style>
<script type="text/javascript">
function calcularEdad(){
var fecha = prompt('Introduzca su fecha de nacimiento (dd-mm-yyyy): ');
var fechaActual = new Date();
var fechaNacimiento = new Date(fecha.substring(6)+'-'+fecha.substring(3, 5)+'-'+fecha.substring(0, 2));
var edad = fechaActual.valueOf()-fechaNacimiento.valueOf();
var msg = '';
if (parseInt( edad/(1000*60*60*24*365))<18){
msg = ' años y no es mayor de edad.';
}else{
msg = ' años y es mayor de edad.';
}
alert('Usted tiene: ' + parseInt( edad/(1000*60*60*24*365)) + msg);
}
</script>
</head>
<body>
<div id ="pulsador" onclick="calcularEdad()"> ¿Es mayor de edad? Pulsa aquí para empezar</div>
</body>
</html>

Saludos.

1082
Hola C3PO.

Falta el código HTML para hacer funcionar tu código, lo probé con este html que añadí.

Código: [Seleccionar]
<html>
<head>
<title>Curso JavaScript aprenderaprogramar.com</title> <meta charset="utf-8">
<script type="text/javascript">
function mostrarMensaje1() {
var diametro, grosor;
diametro=prompt('Intro diametro de la rueda:');
grosor=prompt('Intro grosor de la rueda:');
diametro= Number(diametro);
grosor=Number(grosor);
alert('el diametro introducido es:' + diametro + '\nel grosor introducido es este:' + grosor);
if (diametro>1.4){
alert ('La rueda es para un vehículo grande.');
if (grosor<0.4){
alert('el grosor de esta rueda es inferior al recomendado');
}
}
if ((diametro<=1.4)&&(diametro>0.8)){
alert('la rueda es para un vehículo mediano');
if(grosor<0.25){
alert('el grosor de esta rueda es inferior al recomendado');
}
}
if(diametro<=0.8){
alert('la rueda es para un vehículo pequeño');
}
}
</script>
</head>
<body>
<div onclick="mostrarMensaje1()">Pulse aquí para empezar</div>
</body>
</html>


El ejercicio está bien resuelto.

Para futuros ejercicios acuerdate de facilitar el html también.

A seguir adelante.

Saludos.

1083
Después de revisar el ejercicio, aunque creo que todo va como pide el enunciado, creo que se podía mejorar bastante esa solución y lo he resuelto de distinta forma.

aquí dejo el código...

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<style type="text/css">
body {background-color:yellow; font-family: sans-serif;}
label{color: maroon; display:block; padding:5px;}
.errorMsg{display:none; border:solid 2px; background-color: orange;}
</style>
<script type="text/javascript">
window.onload = function () {
document.formularioContacto.nombre.focus();
document.formularioContacto.addEventListener('submit', validarFormulario);
}
function validarFormulario(evObject){
evObject.preventDefault();
var formulario = document.formularioContacto;
var estadoNombre = false;
var estadoApellidos = false;
var estadoEmail = false;
estadoNombre = comprobarNombre(formulario);
estadoApellidos = comprobarApellidos(formulario);
estadoEmail = comprobarEmail(formulario);
if(estadoNombre && estadoApellidos && estadoEmail){formulario.submit();}
}
function comprobarNombre(formulario){
if(formulario.nombre.value.length==0 || /^\s*$/.test(formulario.nombre.value)){
mensajeError(formulario.nombre, 0);
return false;
}else if(formulario.nombre.value.length>15){
mensajeError(formulario.nombre, 1);
return false;
}else{
ocultaCajaError(formulario.nombre);
return true;
}
}
function comprobarApellidos(formulario){
if(formulario.apellidos.value.length==0 || /^\s*$/.test(formulario.apellidos.value)){
mensajeError(formulario.apellidos, 2);
return false;
}else if(formulario.apellidos.value.length>30){
mensajeError(formulario.apellidos, 3);
return false;
}else{
ocultaCajaError(formulario.apellidos);
return true;
}
}
function comprobarEmail(formulario){
if(formulario.email.value.length==0 || /^\s*$/.test(formulario.email.value)){
mensajeError(formulario.email, 4);
return false;
}else if(formulario.email.value.length>35){
mensajeError(formulario.email, 5);
return false;
}else if(!/[@]/.test(formulario.email.value)){
mensajeError(formulario.email, 6);
return false;
}else{
ocultaCajaError(formulario.email);
return true;
}
}
function mensajeError(nodo, numError){
nodo.nextSibling.style.display = 'inline';
var mensaje = ['El nombre no puede estar vacío', 'Nombre demasiado largo. Máximo 15 caracteres.',
'El campo apellidos no puede estar vacío.', 'Apellidos demasiado largo. Máximo 30 caracteres.',
'Email no puede estar vacío.', 'Email demasiado largo. Máximo 35 caracteres.', 'Email no contiene @'];
nodo.nextSibling.textContent = mensaje[numError];
}
function ocultaCajaError(nodo){
nodo.nextSibling.style.display = 'none';
}
</script>
</head>
<body>
<div id="cabecera"><h1>Portal web aprenderaprogramar.com</h1><h2>Didáctica y divulgación de la programación</h2>
</div>
<!-- Formulario de contacto -->
<form name ="formularioContacto" class="formularioTipo1" method="get" action="http://aprenderaprogramar.com">
<p>Si quieres contactar con nosotros envíanos este formulario relleno:</p>
<label for="nombre"><span>Nombre:</span> <input id="nombre" type="text" name="nombre" /><span class="errorMsg"></span></label>
<label for="apellidos"><span>Apellidos:</span> <input id="apellidos" type="text" name="apellidos" /><span class="errorMsg"></span></label>
<label for="email"><span>Correo electrónico:</span> <input id="email" type="text" name="email" /><span class="errorMsg"></span></label>
<label><input type="submit" value="Enviar"><input type="reset" value="Cancelar"></label>
</form>
</body>
</html>

Saludos.

1084
Hola, aquí mis respuestas al ejercicio CU01182E del curso JavaScript desde cero.

Citar
EJERCICIO

Crear el código JavaScript que cumpla con las siguientes funciones:
a) Si la longitud (número de caracteres) del campo nombre es mayor de 15 o igual a cero, el formulario no se enviará.
b) Si la longitud (número de caracteres) del campo apellidos es mayor de 30 o igual a cero, el formulario no se enviará.
c) Si la longitud (número de caracteres) del campo email es mayor de 35 o igual a cero, el formulario no se enviará. Si el email no contiene el carácter @ el formulario no se enviará.
d) Si se produce cualquiera de las circunstancias anteriores, debe aparecer un recuadro con color de fondo naranja y texto negro a la derecha de la casilla de introducción de datos, informando del problema detectado en ese campo (si es que ese campo presenta algún problema). Nota: estos mensajes se deben mostrar sólo si el campo es erróneo después de pulsado el botón enviar, y deben desaparecer si el usuario realiza un nuevo intento y el campo es correcto. Los mensajes se incorporarán al DOM (no serán mensajes usando alert).
Ejemplo de ejecución. El usuario deja el nombre, apellidos y correo electrónico vacíos. A la derecha de las casillas de introducción de datos aparecerá: El nombre no puede estar vacío. Los apellidos no pueden estar vacíos. El correo electrónico no puede estar vacío.

Ahora el usuario introduce nombre: <<Juan Manuel de Todos los Santos Efímeros Ecuánimes de Todos los días de la Tercera Edad>>. Como apellidos introduce: <<Suárez>>. Y como correo electrónico introduce lo siguiente: << juanmanueldetodoslosantosefimerosecuanimesdetodoslosdias@gmail.com >>. Pulsa enviar. A la derecha de la casilla de introducción del nombre debe aparecer: “Nombre demasiado largo. Máximo 15 caracteres”. A la derecha de apellidos no aparecerá nada porque el apellido es correcto. A la derecha del correo electrónico debe aparecer: “Correo electrónico demasiado largo. Máximo 35 caracteres”. Ahora el usuario escribe como nombre: Juan Manuel. Como apellidos: Suárez. Y como correo electrónico juanmanuel@gmail.com . Pulsa enviar y el formulario es enviado.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<style type="text/css">
body {background-color:yellow; font-family: sans-serif;}
label{color: maroon; display:block; padding:5px;}
.errorMsg{display:none; border:solid 2px; background-color: orange;}
</style>
<script type="text/javascript">
window.onload = function () {
document.formularioContacto.nombre.focus();
document.formularioContacto.addEventListener('submit', validarFormulario);
}
function validarFormulario(evObject){
evObject.preventDefault();
var formulario = document.formularioContacto;
var estadoNombre = false;
var estadoApellidos = false;
var estadoEmail = false;
estadoNombre = comprobarNombre(formulario);
estadoApellidos = comprobarApellidos(formulario);
estadoEmail = comprobarEmail(formulario);
if(estadoNombre && estadoApellidos && estadoEmail){formulario.submit();}
}
function comprobarNombre(formulario){
if(formulario.nombre.value.length==0){
formulario.nombre.nextSibling.style.display = 'inline';
formulario.nombre.nextSibling.textContent = 'El nombre no puede estar vacío.';
return false;
}else if(formulario.nombre.value.length>15){
formulario.nombre.nextSibling.style.display = 'inline';
formulario.nombre.nextSibling.textContent = 'Nombre demasiado largo. Máximo 15 caracteres.';
return false;
}else{
formulario.nombre.nextSibling.style.display = 'none';
return true;
}
}
function comprobarApellidos(formulario){
if(formulario.apellidos.value.length==0){
formulario.apellidos.nextSibling.style.display = 'inline';
formulario.apellidos.nextSibling.textContent = 'Apellidos no puede estar vacío.';
return false;
}else if(formulario.apellidos.value.length>30){
formulario.apellidos.nextSibling.style.display = 'inline';
formulario.apellidos.nextSibling.textContent = 'Apellidos demasiado largos. Máximo 30 caracteres.';
return false;
}else{
formulario.apellidos.nextSibling.style.display = 'none';
return true;
}
}
function comprobarEmail(formulario){
if(formulario.email.value.length==0){
formulario.email.nextSibling.style.display = 'inline';
formulario.email.nextSibling.textContent = 'Email no puede estar vacío.';
return false;
}else if(formulario.email.value.length>35){
formulario.email.nextSibling.style.display = 'inline';
formulario.email.nextSibling.textContent = 'Email demasiado largo. Máximo 35 caracteres.';
return false;
}else if(!/[@]/.test(formulario.email.value)){
formulario.email.nextSibling.style.display = 'inline';
formulario.email.nextSibling.textContent = 'Email no contiene @';
return false;
}else{
formulario.email.nextSibling.style.display = 'none';
return true;
}
}
</script>
</head>
<body>
<div id="cabecera"><h1>Portal web aprenderaprogramar.com</h1><h2>Didáctica y divulgación de la programación</h2>
</div>
<!-- Formulario de contacto -->
<form name ="formularioContacto" class="formularioTipo1" method="get" action="http://aprenderaprogramar.com">
<p>Si quieres contactar con nosotros envíanos este formulario relleno:</p>
<label for="nombre"><span>Nombre:</span> <input id="nombre" type="text" name="nombre" /><span class="errorMsg"></span></label>
<label for="apellidos"><span>Apellidos:</span> <input id="apellidos" type="text" name="apellidos" /><span class="errorMsg"></span></label>
<label for="email"><span>Correo electrónico:</span> <input id="email" type="text" name="email" /><span class="errorMsg"></span></label>
<label><input type="submit" value="Enviar"><input type="reset" value="Cancelar"></label>
</form>
</body>
</html>

Saludos.

1085
Buenas.

El código realiza lo que pide el ejercicio.

Solo decirte que podrías ahorrarte algunas líneas y variables, como lo siguiente.

Código: [Seleccionar]
var nombre=[];
nombre[0]=prompt('Introduce un sustantivo');
nombre[1]=prompt('Introduce un verbo');
nombre[2]=prompt('Introduce un adverbio (ej.:rápido, lento)');
alert('Has construido esta frase: El/La '+nombre[0]+' '+nombre[1]+' '+nombre[2]);

Saludos.

1086
Hola dimiste.

Veo bien tu código.

Saludos.

1087
Hola dimiste.

El código hace lo que pide el ejercicio, solo comentarte sobre los nombres de variables, atributos, nombres de función, etc., que intentases darle nombres descriptivos sobre lo que vayan a contener, así el código será mas fácil de leer y entender.

Saludos.

1088
Hola Bcks7.

La respuesta 'n' no es correcta, puesto que es 'true'.

 n) (A+B == 8 ) || (A-B == 6)

Con que una de las dos devuelva 'true' bastará para que la expresión entera tome como varlor 'true'. Porque estamos evaluando que la expresión1 o la expresión2 sean verdaderas.
 
Saludos.

1089
Buenas.

El ejercicio 1 está bien, pero declaras tres variables que no usas:
Código: [Seleccionar]
var a, b, c;me imagino que lo que querías poner era...
Código: [Seleccionar]
var A, B, C;
En el ejercicio 2, no has conseguido que a y b valgan NaN. Esto lo puedes conseguir de la siguiente forma:
var a=8/'arbol';
De esa forma, a sera igual a NaN.

Saludos.

1090
Hola Ogramar.

Como siempre, muchas gracias por la corrección y la explicación del for. Porque aunque estuve buscando por la red, no encontré ninguna explicación que no se basara en el uso tradicional.

Saludos.

1091
Hola JurreNawijn.

Eso te pasa porque el código interpreta que las variables numero1 y numero2 son cadenas de texto. Podrías solucionarlo de la siguiente forma:

Código: [Seleccionar]
var resultado = Number(numero1)+Number(numero2);
quedando el código así:

Código: [Seleccionar]
<script type="text/javascript">
    var numero1 = prompt("Lanza el primer número"), numero2 = prompt("Lanza el segundo número"), resultado = Number(numero1)+Number(numero2);
    document.write("<p>El resto de dividir el primer número entre 5: " + (numero1%5) + "</p>");
    document.write("<p>El resultado de divir el primer número con el segundo: " + (numero1/numero2) + "</p>" );
    document.write("<p>EL resultado de sumar los dos números: " + resultado + "</p>");   
</script>

También decirte que sería bueno que te acostumbres a trabajar ordenando el código por funciones.


Saludos.

1092
Hola dimiste.

Tu ejercicio realiza lo que pide el enunciado, así que bien. Pero tienes cosas en el código que no usas, por ejemplo, las variables num1, num2 y result3. Además declaras las variables a y b sin "var", y en este caso sería conveniente que lo hiciese con "var" puesto que no necesitas que se guarde el valor de dichas variables entre una y otra ejecución del código.

Saludos.

1093
Buenas,,

En cuanto a lo que comentas sobre valorNuevoNumeroImagen, pues decirte que también está declarada con ámbito global. Las variables que se declaran sin "var" dentro de una función, son variables de ámbito global también.  En el momento que haces "valorNuevoNumeroImagen=9;", ya está declarando la variable. Esto lo verás en el curso, pero más adelante.

En la función solo se entrará cada vez que pulses sobre "adelante" o "atrás".
Y numeroImagenActual irá cogiendo el valor que valorNuevoNumeroImagen le vaya asignando, que dependerá del if en el que se entre.

 ;D

En cuanto a la tus respuestas del ejercicio decirte que las veo bien.

Saludos.


 

1094
Hola dimiste.

numeroImagenActual al estar declarada fuera de una función, se dice que es de ámbito global, es decir, que desde cualquier parte del código javascript tendremos acceso a ella.

numeroImagenActual irá guardando el valor que le damos desde la función moverImagen(), pero no se inicializará cada vez que accedamos a la función moverImagen(), sino que mantendrá el último valor que se le halla dado.

Espero que te valga.
Saludos.


1095
Hola. Teniendo el siguiente código:

Código: [Seleccionar]
<!DOCTYPE html>
<html><head><script>
function validarForm() {
    var x = document.forms["elForm1"]["nombre"].value;
    if (x==null || x=="") { alert("El formulario no puede enviarse sin rellenar el nombre");
        return false; }
}
</script></head>
<body><form style ="margin:30px;" name="elForm1" action="http://aprenderaprogramar.com" onsubmit="return validarForm()" method="get">
Nombre: <input type="text" name="nombre">
<input type="submit" value="Enviar">
</form>
</body></html>

Citar
a) ¿Qué cometido cumple este código?
Comprueba que el único campo del formulario no esté vacío o sea null y devuelve false al formulario en caso de que el nombre esté vacío o sea null.

Citar
b) ¿Qué ocurre si en lugar de onsubmit="return validarForm()" escribes onsubmit="validarForm()"? ¿Por qué?
Que el formulario se enviará, aun estando vacío.
Porque no hay nada en este código que lo impida.

Citar
c) Si x no es null ni es vacío, ¿qué devuelve la función validarForm()? ¿Qué implicaciones tiene esto en relación al envío del formulario?
Viendo como se comporta el código, diría que la función al no devolver false por que el formulario está bien rellenado, devuelve true por defecto.

Saludos.

1096
Buenas.

Citar
EJERCICIO
Examina el siguiente código y responde a las cuestiones que se muestran a continuación:
Código: [Seleccionar]
var arr = [];
var divs = document.querySelectorAll('div');
for(var i = divs.length; i--; arr.unshift(divs[i]));


Citar
a) ¿Qué cometido cumple este código?

'divs' es un array-like, y lo que se hace en el for es introducir el contenido de 'divs' en el array 'arr'.

El método unshift() lo que hace es agregar elementos en el inicio de un array. Por eso el for es usado de forma decreciente, para mantener el mismo orden.


Citar
b) Aplicando la idea que podemos extraer de este código, modifica el código que hemos visto como ejemplo en esta entrega para crear un array con los elementos input y select del formulario y  mostrar por pantalla el número de elementos input y select existentes en el formulario.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<style type="text/css"> body {margin-left:30px; font-family: sans-serif;}
.estiloForm {background-color: #f3f3f3; border: solid 2px black; margin-left:20px; width: 330px; padding:10px; }
.estiloForm label {display: block; width: 120px; float: left; text-align:right; margin-bottom: 35px; padding-right: 20px;}
br {clear: left;} input[type="submit"], input[type="reset"] {margin:25px 5px 10px 5px;}
</style>
<script type="text/javascript">
window.onload = function () {
var elementosSelectInput = document.querySelectorAll('input, select');
var arrayNodos = [];
for(var i=elementosSelectInput.length; i--; arrayNodos.unshift(elementosSelectInput[i]));
alert('Tenemos un número de elementos input ó select en el formulario: ' + arrayNodos.length);
}
</script>
</head>
<body>
<h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3>
<div class="estiloForm"> <form name ="formularioContacto" method="get" action="#">
<label>Tratamiento</label>
<input type="radio" name="tratamiento" id="tratarSr" value="Sr."/>Sr.
    <input type="radio" name="tratamiento" id ="tratarSra" value="Sra."/>Sra.<br/>
    <label>Nombre</label><input id="nombre" name="nombre" type="text"/><br/>
<label>Apellidos</label><input id="apellidos" name="apellidos" type="text"/><br/>
<label>Dirección</label><input id="direccion1" name="direccion1" type="text"/><br/>
<label>Ciudad</label><select id="ciudad" name="ciudad">
<option value="">Elija opción</option>
<option value="Mexico">México D.F. (MX)</option>
<option value="Madrid">Madrid (ES)</option>
<option value="Santiago">Santiago (CL)</option>
</select><br/>
<label>Preferencias</label><input name="Libros" type="checkbox" />Libros
<input name="Peliculas" type="checkbox"  />Películas
<input type="submit" value="Enviar"/> <input type="reset" value="Cancelar"/>
</form>
</div>
</body>
</html>


Sobre el apartado a, entiendo lo que hace el for, pero no entiendo como puede ir arr.unshift(divs) en donde está colocado y que funcione.  :o :o

Cuando la manera habitual a mi parecer hubiese sido...

Código: [Seleccionar]
for(var i=elementosSelectInput.length; i>0; i--){
arrayNodos.unshift(elementosSelectInput[i-1]);
}

Saludos.

1097
En el apartado d, seguí probando e hice lo siguiente, añadí la siguiente linea en el window.onload

Código: [Seleccionar]
radioButTrat.push(casillaDatos);
y el error fue: "radioButTrat.push is not a function"

que por lo que busqué, al ser radioButTrat un NodeList no admite el método push().

Saludos.

1098
Dejo el siguiente ejercicio.

Teniendo el siguiente código.

Código: [Seleccionar]
<!DOCTYPE html>
<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<style type="text/css"> body {margin-left:30px; font-family: sans-serif;} h4 {margin:0;} div {float:left;}
.estiloForm, #encuadraImagen, #datos {background-color: #f3f3f3; border: solid 2px black; margin-left:10px; width:300px; }
.estiloForm { width: 330px; padding:10px;} #datos {margin-top: 20px; height:226px; padding:10px;}
#encuadraImagen {width:100px; height:100px;   text-align:center;}
.estiloForm label {display: block; width: 120px; float: left; text-align:right; margin-bottom: 35px; padding-right: 20px;}
br {clear: left;} input[type="submit"], input[type="reset"] {margin:25px 5px 10px 5px;}
</style>
<script type="text/javascript">
window.onload = function () {
                /* Variables globales (por estar declaradas sin var) */
                casillaDatos = document.getElementById('datos'); //Nodo donde vamos a mostrar los datos
                radioButTrat = document.getElementsByName("tratamiento"); //Nodos radio buttons
                checkboxElements = new Array();
               
                var elementosDelForm = document.getElementsByTagName('input'); //Elementos input
                var elementosSelect = document.getElementsByTagName('select');
                for(var i=0; i<elementosDelForm.length;i++) {
                if (elementosDelForm[i].type == 'radio') {elementosDelForm[i].addEventListener("click", actualizarDatos);}
                else {elementosDelForm[i].addEventListener("change", actualizarDatos);}
                if (elementosDelForm[i].type == 'checkbox') {checkboxElements.push(elementosDelForm[i]);}
                }
                for (var i=0; i<elementosSelect.length;i++) {elementosSelect[i].addEventListener("change", actualizarDatos);}
}
 
function actualizarDatos() {
var rutaImagen = '';
var radioButSelValue = '';
for (var i=0; i<radioButTrat.length; i++) {if (radioButTrat[i].checked == true) { radioButSelValue= radioButTrat[i].value;} }
if (radioButSelValue != ''){
                if (radioButSelValue =='Sr.') {rutaImagen='caraHombre.jpg';} else {rutaImagen='caraMujer.jpg';}
                document.getElementById('encuadraImagen').innerHTML = '';
                document.getElementById('encuadraImagen').style.background='url("'+rutaImagen+'") no-repeat';
}
var checkBoxSel = new Array();
for (var i=0; i<checkboxElements.length;i++) {
if (checkboxElements[i].checked ==true) {checkBoxSel.push(checkboxElements[i].name);}
}
 
var elementoCiudad = document.getElementById('ciudad');
casillaDatos.innerHTML='<h4> Datos introducidos: </h4><p>Tratamiento: '+(radioButSelValue||' --- ')+'</p>'+
'<p>Nombre: '+document.getElementById('nombre').value+'</p>'+
'<p>Apellidos: ' + (document.getElementById('apellidos').value||' --- ')+'</p>'+
'<p>Dirección: ' + (document.getElementById('direccion1').value||' --- ')+'</p>'+
'<p>Ciudad: ' + (elementoCiudad.options[elementoCiudad.selectedIndex].text||' --- ')+'</p>'+
'<p>Preferencias: ' + (checkBoxSel||' --- ')+'</p>';
}
</script></head>
<body><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3>
    <div class="estiloForm">
    <form name ="formularioContacto" method="get" action="#">
        <label>Tratamiento</label>
        <input type="radio" name="tratamiento" id="tratarSr" value="Sr."/>Sr.
        <input type="radio" name="tratamiento" id ="tratarSra" value="Sra."/>Sra.<br/>
        <label>Nombre</label><input id="nombre" name="nombre" type="text"/><br/>
        <label>Apellidos</label><input id="apellidos" name="apellidos" type="text"/><br/>
        <label>Dirección</label><input id="direccion1" name="direccion1" type="text"/><br/>
        <label>Ciudad</label><select id="ciudad" name="ciudad">
            <option value="">Elija opción</option>
            <option value="Mexico">México D.F. (MX)</option>
            <option value="Madrid">Madrid (ES)</option>
            <option value="Santiago">Santiago (CL)</option>
        </select><br/>
        <label>Preferencias</label><input name="Libros" type="checkbox" />Libros
        <input name="Peliculas" type="checkbox"  />Películas
        <input type="submit" value="Enviar"/> <input type="reset" value="Cancelar"/>
    </div>
    <div style="float:left;">
    <div id="encuadraImagen"><h1> ? </h1></div><br/>
    <div id="datos" style="float:left;"><h4> Datos introducidos: </h4></div>
    </form>
    </div>
</body></html>


Citar
a) ¿Qué código es el que hace posible que cuando se selecciona el radio button Sr aparezca la imagen caraHombre.jpg y que cuando se selecciona el radio button Sra aparezca la imagen caraMujer.jpg?

En esta linea...

Código: [Seleccionar]
if (radioButSelValue =='Sr.') {rutaImagen='caraHombre.jpg';} else {rutaImagen='caraMujer.jpg';}
se detecta el click en el radio buttons y llama a la función actualizarDatos, en esta fucinión en la linea...

Código: [Seleccionar]
for (var i=0; i<radioButTrat.length; i++) {if (radioButTrat[i].checked == true) { radioButSelValue= radioButTrat[i].value;} }
se comprueba que radio buttons está seleccionado y en esta otra linea...

Código: [Seleccionar]
if (radioButSelValue =='Sr.') {rutaImagen='caraHombre.jpg';} else {rutaImagen='caraMujer.jpg';}
comprobamos si se usará una imagen o la otra, y en la siguiente linea...      
   
Código: [Seleccionar]
document.getElementById('encuadraImagen').style.background='url("'+rutaImagen+'") no-repeat';
mostramos la imagen.


Citar
b) ¿ radioButTrat es una variable global o local a una función? ¿Por qué?

Es una variable global, porque las variables declaradas sin var son de ámbito global.


Citar
c) ¿radioButTrat es una array o un objeto NodeList de tipo array-like? ¿El método length es aplicable a objetos de tipo array? ¿El método length es aplicable a objetos de tipo array-like?

Es un NodeList de tipo array-like que contiene todos los nodos de tipo element que tienen como atributo name = "tratamiento".

Si.

Si.


Citar
d) ¿Qué ocurre si tratas de aplicar el método push a radioButTrat? Escribe el código para ello. ¿Qué mensaje visualizas en la consola? Busca información y trata de explicar por qué ocurre esto.

No fui capaz de sacar nada en claro en este punto.


Citar
e) ¿Las imágenes son el fondo de un elemento HTML distinto de img o es el atributo source de un elemento img?

Es el fondo de un elemento HTML.


Citar
f) ¿checkBoxSel es un array o un NodeList de tipo array-like?

Es un array.


Citar
g) ¿Qué significa y para qué sirve este código: checkBoxSel||' --- ' ?

Si checkBoxSel tuviese un valor erróneo, se mostraría por pantalla ' --- '.


Citar
h) ¿Y este otro: elementoCiudad.options[elementoCiudad.selectedIndex].text ?

elementoCiudad.selectedIndex toma el valor del índice de la opción seleccionada en el select, si la opción seleccionada fuese la primera en la lista la linea quedaría así...

Código: [Seleccionar]
elementoCiudad.options[0].text
Saludos.

1100
Hola fparra.

Para empezar falta el código html, aquí dejo el html con el css.

Código: [Seleccionar]
<html>
<head>
<title>Portal web - aprenderaprogramar.com</title> <meta charset="utf-8">
<style>
/* Curso CSS estilos aprenderaprogramar.com*/
*{font-family: arial;}
body {width:410px; border-style: dotted; border-width: 2px;}
div {border-style: solid; border-width:2px;
margin:7px; padding:7px;
background-color: #FFEFD5; }
/*La anchura del contenido de la caja 1 es:
410 - 14 de margin - 4 de border - 14 de padding, resulta 378 px*/
#caja1{ border-color:red;}
#caja2{ margin:0 7px 7px 7px; border-color:blue;
width:65px; float:left; height:200px; }
/*Ancho total 410 px - 12px bordes - 28 px de margin - 42 de padding -65px contenido caja 2
-65 px contenido caja 4 obtenemos 198 px*/
#caja3{ margin:0 7px 7px 0px; border-color:green;
width:198px; float: left; height: 300px;}
#caja4{ margin:0; border-color:orange; float: left; width:65px; height:200px;}
.limpiador {clear:both; padding:0; border-style:none; }
</style>
</head>
<body>
<div id="caja1">Caja 1</div>
<div id="caja2">Caja 2</div>
<div id="caja3">Caja 3</div>
<div id="caja4">Caja 4</div>
<div class="limpiador"></div>
</body>
</html>

Esto nos daría un resultado  mas o menos como este.



Creo que con esto podrás resolver tus dudas.

Saludos.



Páginas: 1 ... 50 51 52 53 54 [55] 56 57 58 59 60 ... 65

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".