Foros del Web » Programando para Internet » Javascript »

Codigo con fallo!! No se cual es el fallo

Estas en el tema de Codigo con fallo!! No se cual es el fallo en el foro de Javascript en Foros del Web. Hola gente soy nuevo ene ste foro, y quisiera preguntar como podria solucionar un proble ma de javascript que tengo. Lo pongo con un ejemplo ...
  #1 (permalink)  
Antiguo 06/03/2009, 18:20
 
Fecha de Ingreso: marzo-2009
Mensajes: 29
Antigüedad: 15 años, 1 mes
Puntos: 0
Codigo con fallo!! No se cual es el fallo

Hola gente soy nuevo ene ste foro, y quisiera preguntar como podria solucionar un proble ma de javascript que tengo. Lo pongo con un ejemplo verbal:

- Tengo 50000 de ORO , 300 MADERA, 200 GEMAS.
-Crear una unidad cuesta 10000 ORO, 100 MADERA, 0 GEMAS
- Solo se podrian crear 3 unidades porq no tengo los recursos suficientes, pero no consigo dar con la formula para que tenga en cuenta los tres recursos en vez de uno solo.

Espero haberme explicado bien.

Saludos y muchas gracias
Aqui el codigo javascript solo:
Código:
  <script type="text/javascript" language="javascript">
function oscuridad1(){	
	var nORO=document.recursos.nORO.value
	var nMAD=document.recursos.nMAD.value
  	var alzO=document.O1.nORO.value
	var alzM=document.O1.nMAD.value
		if(nORO>=alzO && nMAD>=alzM){
			var restOo1=nORO/alzO
			var restMo1=nMAD/alzM
			if(rstOo1>0 && restMo1>0){
				if(restOo1>restMo1){
					document.O1.unidades.value=restMo1
				}
				else{
					document.O1.unidades.value=restOo1
				}
			}
			else{
				document.O1.unidades.value=0
			}
		}
		else{
				document.O1.unidades.value=0
		}
	}
  </script>

Última edición por MetalWolf; 07/03/2009 a las 07:12 Razón: Modificar codigo
  #2 (permalink)  
Antiguo 06/03/2009, 20:56
Avatar de jeybi  
Fecha de Ingreso: julio-2008
Ubicación: Mexico
Mensajes: 130
Antigüedad: 15 años, 9 meses
Puntos: 10
Respuesta: Codigo con fallo!! No se cual es el fallo

Mejor en ves de poner todo el codigo, solo postea la funcion que hace el calculo y explica su funcionamiento, creo que asi te podremos ayudar mejor.
  #3 (permalink)  
Antiguo 07/03/2009, 07:11
 
Fecha de Ingreso: marzo-2009
Mensajes: 29
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Codigo con fallo!! No se cual es el fallo

OK haber si se explicarme: a traves de un boton llamoa la funcion
function oscuridad1() la secuencia que quiero es que si el ORO var nORO=document.recursos.nORO.value y MADERA var nMAD=document.recursos.nMAD.value que tengo es mayor o igual a lo que vale la unidad ORO y MADERA respectivamente:
var alzO=document.O1.nORO.value
var alzM=document.O1.nMAD.value


se divida:
var restOo1=nORO/alzO
var restMo1=nMAD/alzM

y si la division de cada uno resulta ser igual se eliga restOo1
si restOo1 < restMo1 se eliga restOo1
si restOo1 > restMo1 se eliga restMo1
  #4 (permalink)  
Antiguo 07/03/2009, 11:58
Avatar de adiazm  
Fecha de Ingreso: julio-2008
Ubicación: Santiago
Mensajes: 51
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Codigo con fallo!! No se cual es el fallo

y por que mejor no lo evaluas con lenguaje web dinámico?. PHP o ASP diria yo.

Pero en fin, hay algo que no entiendo bien...por que quieres dividir el nORO / alzO.... que es eso?
  #5 (permalink)  
Antiguo 08/03/2009, 08:12
Avatar de sweetlydark  
Fecha de Ingreso: septiembre-2008
Mensajes: 391
Antigüedad: 15 años, 7 meses
Puntos: 10
Respuesta: Codigo con fallo!! No se cual es el fallo

Primero que nada ayuda mucho si escoges nombre significativos y simples para tu variable para así poder entenderlo mejor 1. nosotros que ayudamos y 2. tu después de no bregar con el código después de un periodo extensivo.

También ayuda si escribes tu pregunta y explicación claro, lo mas importante para esto es volver a leer lo que escribiste para asegurar que esta claro y bien escrito.

Deja ver:

OK haber si se explicarme: a traves de un boton llamoa la funcion
function oscuridad1() la secuencia que quiero es que si el ORO var nORO=document.recursos.nORO.value y MADERA var nMAD=document.recursos.nMAD.value que tengo es mayor o igual a lo que vale la unidad ORO y MADERA respectivamente:
var alzO=document.O1.nORO.value
var alzM=document.O1.nMAD.value


se divida:
var restOo1=nORO/alzO
var restMo1=nMAD/alzM

y si la division de cada uno resulta ser igual se eliga restOo1
si restOo1 < restMo1 se eliga restOo1
si restOo1 > restMo1 se eliga restMo1

Le das un boton -> el boton llama a oscuridad1() entonces oscuridad1() verificar si el oro y madera que tienes es mayor o igual que la unidad ORO y MADERA? o ese ultimo iba en otra linea? verdad?

ok divides oro entre otro oro y madera entre otra madera uno siendo de un sitio llamado recursos (los valores defecto del costo del unidad?) y otro pues de la pantalla, verdad?

Que esperas que te diga este división? porque es que la divides?

Veo que luego lo utilizas para luego verificar uno contra el otro pero (como adiazm) no veo la lógica.
__________________
Por fin vuelvo a tener internet!
http://www.anidandoetiquetas.com/

Última edición por sweetlydark; 08/03/2009 a las 09:08
  #6 (permalink)  
Antiguo 08/03/2009, 12:29
 
Fecha de Ingreso: marzo-2009
Mensajes: 29
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Codigo con fallo!! No se cual es el fallo

porq para saber el numero de unidades que puedes crear debes dividir el oro que tienes nORO entre lo que cuesta alzO e igual con la madera. Y para que tome en consideración los dos valores, y sea correcta el numero de unidades quiero que seleccione la division con resultado mas pequeño.
  #7 (permalink)  
Antiguo 08/03/2009, 12:31
 
Fecha de Ingreso: marzo-2009
Mensajes: 29
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Codigo con fallo!! No se cual es el fallo

Cita:
Iniciado por adiazm Ver Mensaje
y por que mejor no lo evaluas con lenguaje web dinámico?. PHP o ASP diria yo.

Pero en fin, hay algo que no entiendo bien...por que quieres dividir el nORO / alzO.... que es eso?
Porque no se!! y javascript lo estoy aprendiendo ahora!! por eso tampoco me se explicar muy bn... gracias todos por ayudar
  #8 (permalink)  
Antiguo 08/03/2009, 20:34
Avatar de sweetlydark  
Fecha de Ingreso: septiembre-2008
Mensajes: 391
Antigüedad: 15 años, 7 meses
Puntos: 10
Respuesta: Codigo con fallo!! No se cual es el fallo

Después de un rato creo que entendí, en si, lo que quieres es que te calcule cuantos unidades la persona puede hacer con los recursos que tiene?
__________________
Por fin vuelvo a tener internet!
http://www.anidandoetiquetas.com/
  #9 (permalink)  
Antiguo 08/03/2009, 21:41
 
Fecha de Ingreso: marzo-2009
Mensajes: 29
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Codigo con fallo!! No se cual es el fallo

exacto. No se lo que será lo que tenia mal...pero volví a construir el codigo y ya lo he conseguido. Ahora me surge otra pregunta. Si no os importa ¿me podriais decir si con un solo boton se podrian borrar los datos de varios formularios?
  #10 (permalink)  
Antiguo 08/03/2009, 22:47
Avatar de sweetlydark  
Fecha de Ingreso: septiembre-2008
Mensajes: 391
Antigüedad: 15 años, 7 meses
Puntos: 10
Respuesta: Codigo con fallo!! No se cual es el fallo

No hay problema, puedes hacer lo que propones creando una función con el código para borrar todo los valores de lo elementos que quieres. Entonces puedes crear un botón (puedes usar un input tipo button) y colocas el evento onclick="funcionBorrar".

Es mas facil si usas id para lo que quieres borrar asi puedes usar algo asi:

getElementById('idDelElemento').value=""

puede variar según el elemento.
__________________
Por fin vuelvo a tener internet!
http://www.anidandoetiquetas.com/
  #11 (permalink)  
Antiguo 08/03/2009, 23:41
Avatar de jeybi  
Fecha de Ingreso: julio-2008
Ubicación: Mexico
Mensajes: 130
Antigüedad: 15 años, 9 meses
Puntos: 10
Respuesta: Codigo con fallo!! No se cual es el fallo

Pues sobre el boton, si se puede, tendrias que enviarle a la funcion resetFormularios() los ids de tus formularios. La funcion seria solo un bucle que por cada id que te enviaron (usa arguments.length) buscar el elemento y ejecutar el metodo reset() de cada elemento.

De echo es facil:

Código javascript:
Ver original
  1. function resetFormularios(){
  2.     for(var i = 0; i < arguments.length; i++){
  3.         var forma = document.getElementById(arguments[i]);
  4.         forma.reset();        
  5.     }
  6. }

Eso si quieres borrar todos los datos, chekboxes, textarea etc. Si, por ejemplo, solo quisieras borrar los inputs de texto, podrias anidar otro bucle que por cada input del form actual cheque si es de tipo texto y elimine su valor.
  #12 (permalink)  
Antiguo 09/03/2009, 07:48
 
Fecha de Ingreso: marzo-2009
Mensajes: 29
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Codigo con fallo!! No se cual es el fallo

ok muxas gracias!!! es perfecto........y si no os importa..creo q ya me estoy pasando....estaba pensando. Cunado clikeas en un boton type="button" value="X" crear una funcion para que le cambie el value y asi el nombre que muestra... eso es posible. Porq por mas que lo intento no lo consigo.
  #13 (permalink)  
Antiguo 09/03/2009, 12:45
Avatar de adiazm  
Fecha de Ingreso: julio-2008
Ubicación: Santiago
Mensajes: 51
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Codigo con fallo!! No se cual es el fallo

Con la función :

ElementgetById('IDdelBoton').innerHTML='Valor nuevo'

Con eso cambias el valor que contiene el botón, osea, si el botón dice "Ir a", con esa función, al presionar el botón, cambia el "Ir a" a El valor que tu le diste, por darte un ejemplo, a "Evaluando..."


Slds,
  #14 (permalink)  
Antiguo 09/03/2009, 14:26
 
Fecha de Ingreso: marzo-2009
Mensajes: 29
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Codigo con fallo!! No se cual es el fallo

muchisimas gracias!!!...eres un crack
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:34.