"diseñar dos funciones en JavaScript"... aquí me vienen preguntas a la mente...
¿Sabes programar en JavaScript?
Sí la respuesta es si, entonces creo que recibirias mejor ayuda si explicaras mejor de que se trata la duda o el problema.
Pero...
Si la respuesta es NO, entonces creo que hay que replantear. Si no sabes programar, entonces lo que necesitas es que de plano alguien haga los scripts por ti. O bien, si como dices en tu pregunta, lo que quieres es AYUDA, entonces tienes que empezar por aprender al menos las bases y los conceptos de como funciona el JavaScript.
REFORMULO MI PREGUNTA, ALGUIEN QUIERE. ALGO DE IDEA TENGO PERO MÁS BIEN POCA, PARTE DE LAS FUNCIONES SI QUE LA SABRÍA HACER YO PERO OTRA NO. ASI QUE SI ALGUIEN ME PUEDE ECHAR UNA MANO QUE ME ENVIE UNA MAIL O ME DEJE EL SUYO ESCRITO Y ME PONGO EN CONTACTO
Yo no he faltado a nadie tampoco (bueno, quizás a tí, perdón). Pedían 2 funciones (sin especificar otra cosa) y las he dado. Para un trabajo de fin de curso no están nada mal. (Claro está que a este sujeto no le importa suspender, puesto que no ha estudiado nada durante el curso).
Evidentemente, tu pregunta inicial SI que es ofensiva. Pero no la tendré en cuenta. Alegra ver que a veces los moderadores se acercan por aquí. Aunque sea para echarnos la bronca.
Estoy de acuerdo: tonterías las mínimas. A ver si con la ayuda de los moderadores subimos un poco el nivel del subforo (lo de los pop-ups da náuseas).
En cuanto a lo de ayudar, seguiré haciéndolo de la misma forma que en estos 5 últimos años (con distintos skins: jallmalatesta, etc.).
Conmigo no te tienes que disculpar, si con DAMON85. Simplemente pidio ayuda y como sucede a muchos usuario inexpertos, no sabe bien como expresarse en el foro para ser entendido. Por lo que creo que tu pequeño script-sarcasmo sobraba. He de ahi la regañina, que iba con la unica intencion de ordenar un poco el tema y que ademas no era solo para ti. Si te has sentido ofendido, te pido sinceramente disculpas. Si estas de acuerdo, lo dejamos aqui y nos dedicamos a cosas mas contructivas. ¿OK?
"No soy completamente inútil. Al menos sirvo de mal ejemplo."
"Cría cuervos y tendrás muchos."
Tengo un formulario. Dentro de el hay una tabla, cada fila está dividida en 3 columnas. En la primera está el nombre de un empleado, en la segunda, un menú desplegable en el cual hay 5 opciones, la primera, pone cargo y el valor es igual a 0. Esta no debe estar escogida a la hora de clickar el botón, si lo está, debe dar error. A continuación, en la 3ª columna hay 3 botones redondos. Cada uno vale 1,1,5 y 2 de izquierda a derecha. El valor escogido en el menú desplegable debe multiplicarse por el valor del botón redondo que esté seleccionado.
El objetivo es que cuando clickemos al botón, el valor de cada fila se sume, se escriba en una caja de texto al final de la página y a la vez, se escriba en una caja de texto de otra parte de la web. Ésta se llama ..../resultados.htm
Bien DAMON85, esto es otra cosa. Así si. Creo haber interpretado correctamente lo que pedías pero como era mucho código he preferido ponerlo en una página independiente. Así lo puedes probar.
Una duda más. En mi tabla hay 15 empleados. si dejo el script:
for (j=0;j<3;j++){
if(empleado_boton[j].checked) valor_boton = empleado_boton[j].value;
tal como está me funciona pero solo para los 2 primeros empleados. si cambio el valor 3 por 16 no me lo calcula. me podeis decir por qué sucede esto?
el script acual es este, a ver si sabe alguien donde está el error. gracias:
var num_empleados = 15;
var valor_cargo, valor_boton, parcial = 0, total = 0;
function calcularTotal(f){
total = 0;
for(i=1; i <=num_empleados; i++){
empleado_cargo = eval("f.cargo_empleado_"+i);
if (empleado_cargo.value != 0){
valor_cargo = empleado_cargo.value;
}else{
alert("Tiene que seleccionar un cargo para el empleado " + i + " de la lista"
break;
}
empleado_boton = eval("f.boton_empleado_"+i);
for (j=0;j<16;j++){
if(f.empleado_boton[j].checked) valor_boton = empleado_boton[j].value;
}
empleado_parcial = eval("f.parcial_empleado_"+i);
parcial = valor_cargo * valor_boton;
empleado_parcial.value = parcial;
total += parcial;
}
f.resultado.value = total;
}
function enviarTotal(){
window.location.href = "resultados.htm";
}
for (j=0;j<3;j++){
if(empleado_boton[j].checked) valor_boton = empleado_boton[j].value;
no debrías tocarlo porque lo que hace es comprobar cuál de los tres botones de opción ha sido seleccionado. Es decir, ese tres sólo deberías cambiarlo si añades un cuarto botón (o quitas uno).
En principio, modificando el número de empleados el script debería funcionar pero ten en cuanta que:
1.- lógicament. debería haber una tabla con 15 empleados.
2.- la elección de los nombres de los select y los radio buttons no es arbitraria; fijate que siguen la secuencia:
<select name="cargo_empleado_1">
<select name="cargo_empleado_2">
entonces el siguiente debería ser <select name="cargo_empleado_3"> y así sucesivamente.
type="radio" name="boton_empleado_1"
type="radio" name="boton_empleado_2"
entoncaes el siguiente de la lista debería ser type="radio" name="boton_empleado_3" y así sucesivamente.
Esto es muy importante: si no sigues este criterio la cosa no funciona.
3.- en el caso de los nombres de empleado no hay problema: puse <td>empleado 1</td> y <td>empleado 2</td> por no poner <td>juanito</td>
o <td>jaimito</td>
Por lo demás no presenta características javascript propietarias por lo que funciona igualmente en IE o Mozilla o Opera.
dejándolo como estaba y solo cambiando el numero de empleados por 15, si me calcula el parcial para el primero y el segundo pero me sale el error: empleado.boton[...].checked es nulo o no es un objeto. alguna idea??
He añadido 3 empleados más en la página
http://personal-de-jall.webcindario.com/articulos/calculadora/tabla.htm para que veas que si funciona.
El javascript es muy puñetero y da error si pones X en vez de x (distingue mayúsculas y minúsculas); si pones una comillas mal puestas etc.
Mira el código de esta página y compáralo con lo que tu escribiste. Así puedes encontrar una pista de lo que ocurre.
TU NO PUEDES Escribir nuevos temas en este foro TU NO PUEDES Responder a los temas en este foro TU NO PUEDES Editar tus propios mensajes en este foro TU NO PUEDES Borrar tus propios mensajes en este foro
Todas las fechas y horas son GMT+1. Ahora son las 05:55
Miarroba Networks, S.L. C/ 18 de Julio, 21 Bajo, 39610 Astillero (CANTABRIA) - CIF B-39512736 Inscrita en el Registro Mercantil de Cantabria, tomo 743, folio 161, libro 0, hoja S-12428, Inscripción 1ª