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 ... 51 52 53 54 55 [56] 57 58 59 60 61 ... 65
1101
Buenas Lorenzo.

El código hace todo lo que pide el ejercicio y como siempre con mucha claridad.

Saludos.

1102
Hola Lorenzo.

Veo bien resuelto el ejercicio.

 ;)

1103
Otro más. Ejercicio CU01178E del curso JavaScript desde cero:

Citar
EJERCICIO
Escribe este código, ejecútalo y responde a las preguntas que aparecen a continuación.
Código: [Seleccionar]
function conversor(toUnit, factor, offset, input) {
    offset = offset || 0;
    return [((offset+input)*factor).toFixed(2), toUnit].join(" ");
}
 
var milesToKm = conversor.bind(undefined, 'km', 1.60936, 0);
var poundsToKg = conversor.bind(undefined, 'kg', 0.45460, 0);
var farenheitToCelsius = conversor.bind(undefined, 'gradosC',0.5556, -32);
 
alert(milesToKm(10));           
alert(poundsToKg(2.5));         
alert(farenheitToCelsius(98));

Citar
a) ¿Cuántas funciones ligadas (copias parametrizadas) de la función conversor se crean en este código?
Hay 3, milesTokm poundsToKg y farenheitToCelsius.
         
Citar
b) ¿Qué es lo que devuelve la función conversor?
Devuelve el resultado de la conversión de una unidad de medida a otra.
         
Citar
c) ¿Qué objeto actúa como this en la función milesToKm?
No está definido, así que ninguno.
         
Citar
d) ¿Qué tarea cumple y con qué fórmula trabaja la función milesToKm?
Crea una copia de la función conversor y le pasa los argumentos necesarios para que se ejecute.
         
Citar
e) ¿Qué tarea cumple y con qué fórmula trabaja la función poundsToKg?
Crea una copia de la función conversor y le pasa los argumentos necesarios para que se ejecute.
         
Citar
f) ¿Qué resultado devuelve milesToKm(10) y qué significa este resultado?
16.09 km, Es el resultado de transformar millas en kilómetros.
         
Citar
g) ¿Qué resultado devuelve poundsToKg(2.5) y qué significa este resultado?
1.14 kg, Es el resultado de transformar libras a kilos.
         
Citar
h) ¿Qué resultado devuelve farenheitToCelsius(98) y qué significa este resultado?
36.67 gradosC, Es el resultado de transformar grados farenheit en grados Centígrados.
         
Citar
i) ¿Qué significado tiene la expresión offset = offset || 0;?
Si offset no tiene ningún valor, valdrá 0.
         
Citar
j) ¿Cuál es la finalidad del uso de toFixed(2)?
Devuelve un String con el número o variable sobre el que se invoca el método con 2 decimales.
         
Citar
k) ¿Por qué crees que se usa el parámetro offset en la función conversor?
Porque hay funciones que para poder realizar la conversión necesitan un tercer dato.
         
Citar
l) Modifica el código para ampliar la información que se nos muestra: introduce un parámetro fromUnit en la función conversor de modo que el resultado nos informe del dato de origen, sus unidades, y el dato convertido y sus unidades.

Código: [Seleccionar]
function conversor(toUnit, factor, offset, fromUnit, input) {
offset = offset || 0;
return [input, fromUnit, 'son', ((offset+input)*factor).toFixed(2), toUnit].join(" ");
}
var milesToKm = conversor.bind(undefined, 'km', 1.60936, 0, 'millas');
var poundsToKg = conversor.bind(undefined, 'kg', 0.45460, 0, 'libras');
var farenheitToCelsius = conversor.bind(undefined, 'gradosC',0.5556, -32, 'gradosF');
alert(milesToKm(10));           
alert(poundsToKg(2.5));         
alert(farenheitToCelsius(98));

Saludos.

1104
Jaja, bueno, es casi normal que te pueda pasar algo así después de todos los ejercicios que corriges.

Entonces finalmente la parte que era la manual, cambié la forma de comprobar y dar el mensaje de error, quedando así:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<style type="text/css"> label{display:block;margin:5px;}</style>
<script type="text/javascript">
function comprobarDatos(nombre){
var expReg = /[\s\S]{3}/;
if(!expReg.test(nombre)){
return false;
}else{
return true;
}
}
function validacionDatosForm1(){
var formularios = document.forms;
var comprobacion = false;
var msg='';
for(var i = 0; i<formularios[0].elements.length; i++){
if(formularios[0].elements[i].type == 'text'){
comprobacion = comprobarDatos(formularios[0].elements[i].value);
if(!comprobacion){
msg += 'El campo ' + formularioUsuario2[i].name + ' no puede tener menos de tres letras.\n';
}
}
}
if(msg!=''){
alert(msg);
return false;
}
}
function validacionDatosForm2(){
var formularios = document.forms;
var comprobacion = [];
var nombreCampo = ['Nombre', 'Apellidos', 'Email', 'Ciudad', 'País'];
var msg='';
comprobacion[0] = comprobarDatos(formularios[1].nombre.value);
comprobacion[1] = comprobarDatos(formularios[1].apellidos.value);
comprobacion[2] = comprobarDatos(formularios[1].email.value);
comprobacion[3] = comprobarDatos(formularios[1].ciudad.value);
comprobacion[4] = comprobarDatos(formularios[1].pais.value);
for(var i=0; i<comprobacion.length; i++){
if(!comprobacion[i]){ msg += 'El campo ' + nombreCampo[i] + ' no puede tener menos de tres letras.\n';}
}
if(msg!=''){
alert(msg);
return false;
}
}
</script>
</head>
<body>
<form name ="formularioUsuario" method="get" onsubmit="return validacionDatosForm1()">
<h2>Formulario apartado a</h2>
<label>Nombre:<input id="nombreFormUsuario" type="text" name="nombre" /></label>
<label>Apellidos:<input id="apellidosFormUsuario" type="text" name="apellidos" /></label>
<label>email:<input id="emailFormUsuario" type="text" name="email" /></label>
<label>Ciudad:<input id="ciudadFormUsuario" type="text" name="ciudad" /></label>
<label>País:<input id="paisFormUsuario" type="text" name="pais" /></label>
<label><input id ="botonEnvio1" type="submit" value="Enviar"></label>
</form>
<form name ="formularioUsuario2" method="get" onsubmit="return validacionDatosForm2()">
<h2>Formulario apartado b</h2>
<label>Nombre:<input id="nombre" type="text" name="nombre" /></label>
<label>Apellidos:<input id="apellidos" type="text" name="apellidos" /></label>
<label>email:<input id="email" type="text" name="email" /></label>
<label>Ciudad:<input id="ciudad" type="text" name="ciudad" /></label>
<label>País:<input id="paisFormUsuario" type="text" name="pais" /></label>
<label><input id ="boton" type="submit" value="Enviar"></label>
</form>
</body>
</html>

Espero que con ese ya sea suficiente.  ;D

1105
Hola otra vez, ;D

Pero la manera en que lo resolví la primera vez es manualmente, ¿no?

Código: [Seleccionar]
comprobacion = comprobarDatos(formularios[1].nombre.value);

Lo que comentas sobre los id lo tengo claro, lo que pasa es que en un principio iban a ser dos html y al unirlos se me pasó cambiar id y name.

.

1106
Hola Ogramar.

Finalmente dejé el ejercicio de la siguiente forma.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<style type="text/css"> label{display:block;margin:5px;}</style>
<script type="text/javascript">
function comprobarDatos(campoForm){
var expReg = /[\s\S]{3}/;
if(!expReg.test(campoForm)){
return false;
}else{
return true;
}
}
function validacionDatosForm1(){
var formularios = document.forms;
var comprobacion = false;
var msg='';
for(var i = 0; i<formularios[0].elements.length; i++){
if(formularios[0].elements[i].type == 'text'){
comprobacion = comprobarDatos(formularios[0].elements[i].value);
if(!comprobacion){
msg += 'El campo ' + formularioUsuario2[i].name + ' no puede tener menos de tres letras.\n';
}
}
}
if(msg!=''){
alert(msg);
return false;
}
}
function validacionDatosForm2(){
var comprobacion = false;
var msg='';
for(var i=0; i<formularioUsuario2.elements.length; i++){
comprobacion = comprobarDatos(formularioUsuario2[i].value)
if(!comprobacion){
msg += 'El campo ' + formularioUsuario2[i].name + ' está incompleto.\n';
}
}
if(msg!=''){
alert(msg);
return false;
}
}
</script>
</head>
<body>
<form name ="formularioUsuario" method="get" onsubmit="return validacionDatosForm1()">
<h2>Formulario apartado a</h2>
<label>Nombre:<input id="nombreFormUsuario" type="text" name="nombre" /></label>
<label>Apellidos:<input id="apellidosFormUsuario" type="text" name="apellidos" /></label>
<label>email:<input id="emailFormUsuario" type="text" name="email" /></label>
<label>Ciudad:<input id="ciudadFormUsuario" type="text" name="ciudad" /></label>
<label>País:<input id="paisFormUsuario" type="text" name="pais" /></label>
<label><input id ="botonEnvio1" type="submit" value="Enviar"></label>
</form>
<form name ="formularioUsuario2" method="get" onsubmit="return validacionDatosForm2()">
<h2>Formulario apartado b</h2>
<label>Nombre:<input id="nombreFormUsuario" type="text" name="nombre" /></label>
<label>Apellidos:<input id="apellidosFormUsuario" type="text" name="apellidos" /></label>
<label>email:<input id="emailFormUsuario" type="text" name="email" /></label>
<label>Ciudad:<input id="ciudadFormUsuario" type="text" name="ciudad" /></label>
<label>País:<input id="paisFormUsuario" type="text" name="pais" /></label>
<label><input id ="botonEnvio1" type="submit" value="Enviar"></label>
</form>
</body>
</html>

En efecto lo que hace esa linea es contar los caracteres que contiene la palabra.

Lo que no me queda claro es si realmente, de la manera que lo he resuelto es lo que pide el apartado b.

Saludos y gracias otra vez.

1107
Hola, dejo otro ejercicio para revisar.

Citar
EJERCICIO
Crea un código HTML donde tengas un formulario con seis inputbox de texto que servirán para pedir al usuario Nombre, Apellidos, Correo electrónico, Teléfono, Domicilio y País. Crea el código JavaScript para que los elementos 1, 4, 7, 10 etc. del formulario tomen color de fondo amarillo cuando el usuario pulse sobre ellos. Los elementos 2, 5, 8, 11, etc. del formulario deberán tomar color de fondo azul claro cuando el usuario pulse sobre ellos. Los elementos 3, 6, 9, 12, 15, etc. del formularios deberán tomar color de fondo verde claro cuando el usuario pulse sobre ellos.

Código: [Seleccionar]
<!DOCTYPE html>
<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<style type="text/css"> label{display:block;margin:5px;}</style>
<script type="text/javascript">
window.onload = function () {
var formularios = document.forms;     
for (var i=0; i<formularios.length;i++){
for (var j=0; j<formularios[i].elements.length; j++){
if (formularios[i].elements[j].type=='text' && ((j+1)==1 || (j+1)%3==1)) {
formularios[i].elements[j].addEventListener('click', function(elEvento) {cambiaColor(elEvento, 'yellow', this);});
}else if(formularios[i].elements[j].type=='text' && ((j+1)==2 || (j+1)%3==2)){
formularios[i].elements[j].addEventListener('click', function(elEvento){cambiaColor(elEvento, 'cyan', this);});
}else{
formularios[i].elements[j].addEventListener('click', function(elEvento){cambiaColor(elEvento, 'MediumSpringGreen', this);});
}
}
}             
}

function cambiaColor (elEvento, elColor, quienEsThis) {
quienEsThis.style.backgroundColor=elColor;
}
</script>
</head>
<body><div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>
<form name ="formularioContacto" method="get" action="accion1.html">
<h2>Formulario de pruebas</h2>
<label>Nombre:<input id="nombre" type="text" name="nombre"/></label>
<label>Apellidos:<input id="apellidos" type="text" name="apellidos" /></label>
<label>Correo electrónico:<input id="email" type="text" name="email"/></label>
<label>Teléfono:<input id="tlf" type="text" name="tlf" /></label>
<label>Domicilio:<input id="domicilio" type="text" name="domicilio"/></label>
<label>País:<input id="pais" type="text" name="pais" /></label>
<label><input id ="botonEnvio1" type="submit" value="Enviar"></label>
</form>
</body>
</html>

Saludos.

1108
Saludos elinhu.

Tu código es correcto y los comentarios son acertados.

Así que ánimo con el curso.

 ;D

1111
Hola Ogramar.

Sobre lo primero que comentas, la verdad que pensé que lo importante en el ejercicio era la forma de acceder a los elementos del formulario, por eso no profundicé mas en esa parte, y en cuanto a los segundo que comenta lo he resuelto de la siguiente forma, solo pongo la funcion...
Código: [Seleccionar]
function validacionDatosForm2(){
var comprobacion = false;
var msg='';
for(var i=0; i<formularioUsuario2.elements.length; i++){
comprobacion = comprobarDatos(formularioUsuario2[i].value)
if(!comprobacion){
msg += 'El campo ' + formularioUsuario2[i].name + ' está incompleto.\n';
}
}
if(msg!=''){
alert(msg);
return false;
}
}
Intente hacerlo con...

Código: [Seleccionar]
for (i in formularioUsuario2.name ){}
y con un for normal
Código: [Seleccionar]
for(i=0; i< formularioUsuario2[i].name.lenght; i++){}
pero una vez que terminaba de leer los elementos name, no hacia nada mas, haciendo pruebas, formularioUsuario2.name.lenght me dá 18, lo cuál no consigo entender, así que agradecería que me alumbraras.

Gracias de antemano.


1112
En blueJ no da errores.
Lo probé en netBeans y si me daba errores que te dan a ti, lo solucioné quitando todas las lineas...
Código: [Seleccionar]
teclado.close();que hay en menuCelsius(), menuFarenheit() y menuKelvin()
y también quité la linea ...
Código: [Seleccionar]
eclado.nextLine();//Limpiamos buffer de entradaporque como te dije antes, aquí no tiene ningún sentido.

y Lorenzo tienes toda la razón en el significado de teclado.nextLine(), lo que se quería decir es que se usaba con ese propósito, hacer desaparecer el golpe del intro que no recoge el nextInt().

Saludos.

saludos.

1113
Si, ejecuté el código sin ningún error.

De todas formas la linea...

Código: [Seleccionar]
teclado.nextLine();//Limpiamos buffer de entrada
no es necesaria, porque el nextInt() que pretendes limpiar del buffer lo usas en otro método, por lo cual cuando el programa sale del método no queda nada en el buffer, a mi me funciona tanto con esa linea como sin ella.

Espero haberme explicado bien.

Saludos.


1114
Aprender a programar desde cero / Re:Ejercicio 723B
« en: 18 de Enero 2016, 23:18 »
Está todo bien, lo único que se te olvidó la etiqueta del cierre del formulario.

Saludos.

1115
Saludos Lorenzo.

Lo veo todo bien.

1116
Aprender a programar desde cero / Re:Formularios HTML. CU00720B
« en: 18 de Enero 2016, 23:09 »
Hola Lorenzo.

Tu resolución al ejercicio cumple con todo lo que pedía el enunciado. Así que perfecto.

1117
Hola JoséLuis.

Tu código funciona perfectamente.

A seguir adelante.

Saludos.

1118
Hola Kabuto.

He compilado y ejecutado tu código y no me da ningún error.


1119
Otro ejercicio mas, CU01176E.

Citar
Dado el siguiente código HTML:
<!DOCTYPE html>
<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<style type="text/css"> label{display:block;margin:5px;}</style>
</head>
<body><div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>
<div style="color:blue; margin:20px;" id ="ejemplo">Pulsa aquí</div>
<form name ="formularioContacto" method="get" action="accion1.html">
<h2>Formulario de contacto</h2>
<label>Nombre:<input id="nombreFormContacto" type="text" name="nombre" maxlength="4"/></label>
<label>Apellidos:<input id="apellidosFormContacto" type="text" name="apellidos" /></label>
<label><input id ="botonEnvio1" type="submit" value="Enviar"></label>
</form>
<form name ="formularioReclamacion" method="get" action="accion2.html">
<h2>Formulario de reclamación</h2>
<label>Motivo reclamación:<input id="motivoFormReclama" type="text" name="motivo" /></label>
<label>Fecha del hecho:<input id="fechaFormReclama" type="text" name="fecha" /></label>
<label><input id="botonEnvio2" type="submit" value="Enviar"></label>
</form>
</body>
</html>

Crea un script que recorra todos los elementos input dentro de cada uno de los formularios presentes y si son de tipo text, modifique su atributo asociado maxlength usando el método setAttribute de los objetos tipo Element para limitar a 8 el número máximo de caracteres que pueda introducir el usuario. Una vez modificado el atributo, muestra por pantalla el valor que tiene dicho atributo para todos los elementos de tipo input usando el método getAttribute.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Ejercicio CU01176E aprenderaprogramar.com</title><meta charset="utf-8">
<style type="text/css"> label{display:block;margin:5px;}</style>
<script type="text/javascript">
window.onload = function () {
var ejemplo = document.getElementById('ejemplo');
ejemplo.addEventListener("click", ejecutarEjercicio);
}
function ejecutarEjercicio() {
var msg = '';
var formularios = document.forms;
for (var i=0; i<formularios.length;i++){
msg += '\n\nEn el formulario: ' + formularios[i].name;
for (var j=0; j<formularios[i].elements.length; j++){
if (formularios[i].elements[j].type=='text' ) {
formularios[i].elements[j].setAttribute('maxlength', '8')
msg += '\n\nValor de maxlength del elemento con id ' + formularios[i].elements[j].id + ' es ';
msg += formularios[i].elements[j].getAttribute('maxlength');
}
}
}
alert (msg);
}
</script>
</head>
<body>
<div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>
<div style="color:blue; margin:20px;" id ="ejemplo">Pulsa aquí</div>
<form name ="formularioContacto" method="get" action="accion1.html">
<h2>Formulario de contacto</h2>
<label>Nombre:<input id="nombreFormContacto" type="text" name="nombre" maxlength="4"/></label>
<label>Apellidos:<input id="apellidosFormContacto" type="text" name="apellidos" /></label>
<label><input id ="botonEnvio1" type="submit" value="Enviar"></label>
</form>
<form name ="formularioReclamacion" method="get" action="accion2.html">
<h2>Formulario de reclamación</h2>
<label>Motivo reclamación:<input id="motivoFormReclama" type="text" name="motivo" /></label>
<label>Fecha del hecho:<input id="fechaFormReclama" type="text" name="fecha" /></label>
<label><input id="botonEnvio2" type="submit" value="Enviar"></label>
</form>
</body>
</html>

Saludos.

1120
Hola, aquí dejo la solución del ejercicio CU01175E.

Citar
EJERCICIO
Un uso habitual de JavaScript con formularios es usar JavaScript para validar que el contenido introducido por el usuarios sea válido. Crea un formulario que conste de cinco campos: nombre, apellidos, email, ciudad y país. Usando el evento onsubmit, realiza la validación para:
a) Comprobar que en el momento del envío ninguno de los campos tiene menos de dos caracteres (es decir, si está vacío, contiene una letra o dos letras se considerará no válido) accediendo a los campos mediante document.forms y elements.
b) Igual que el apartado a) pero accediendo a los campos directamente usando el atributo name (por ejemplo formularioContacto.apellidos haría alusión a un elemento input cuyo atributo name es apellidos en un formulario cuyo atributo name es formularioContacto)

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<style type="text/css"> label{display:block;margin:5px;}</style>
<script type="text/javascript">
function comprobarDatos(nombre){
var expReg = /[\s\S]{3}/;
if(!expReg.test(nombre)){
return false;
}else{
return true;
}
}
function validacionDatosForm1(){
var formularios = document.forms;
var comprobacion = false;
for(var i = 0; i<formularios[0].elements.length; i++){
if(formularios[0].elements[i].type == 'text'){
comprobacion = comprobarDatos(formularios[0].elements[i].value);
}
if(!comprobacion){
alert('Hay campos mal rellenados.');
return false;
}
}
}
function validacionDatosForm2(){
var formularios = document.forms;
var comprobacion = false;
var contErrores = 0;
comprobacion = comprobarDatos(formularios[1].nombre.value);
if(!comprobacion){contErrores++;}
comprobacion = comprobarDatos(formularios[1].apellidos.value);
if(!comprobacion){contErrores++;}
comprobacion = comprobarDatos(formularios[1].email.value);
if(!comprobacion){contErrores++;}
comprobacion = comprobarDatos(formularios[1].ciudad.value);
if(!comprobacion){contErrores++;}
comprobacion = comprobarDatos(formularios[1].pais.value);
if(!comprobacion){contErrores++;}
if(contErrores>0){
alert('Hay campos mal rellenados.');
return false;
}
}
</script>
</head>
<body>
<form name ="formularioUsuario" method="get" onsubmit="return validacionDatosForm1()">
<h2>Formulario apartado a</h2>
<label>Nombre:<input id="nombreFormUsuario" type="text" name="nombre" /></label>
<label>Apellidos:<input id="apellidosFormUsuario" type="text" name="apellidos" /></label>
<label>email:<input id="emailFormUsuario" type="text" name="email" /></label>
<label>Ciudad:<input id="ciudadFormUsuario" type="text" name="ciudad" /></label>
<label>País:<input id="paisFormUsuario" type="text" name="pais" /></label>
<label><input id ="botonEnvio1" type="submit" value="Enviar"></label>
</form>
<form name ="formularioUsuario2" method="get" onsubmit="return validacionDatosForm2()">
<h2>Formulario apartado b</h2>
<label>Nombre:<input id="nombreFormUsuario" type="text" name="nombre" /></label>
<label>Apellidos:<input id="apellidosFormUsuario" type="text" name="apellidos" /></label>
<label>email:<input id="emailFormUsuario" type="text" name="email" /></label>
<label>Ciudad:<input id="ciudadFormUsuario" type="text" name="ciudad" /></label>
<label>País:<input id="paisFormUsuario" type="text" name="pais" /></label>
<label><input id ="botonEnvio1" type="submit" value="Enviar"></label>
</form>
</body>
</html>


Saludos.

Páginas: 1 ... 51 52 53 54 55 [56] 57 58 59 60 61 ... 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".