Foros del Web » Programando para Internet » Javascript »

Solución

Estas en el tema de Solución en el foro de Javascript en Foros del Web. Buenos dias... por fa tengo un detalle con este script... el me funciona bien en una columna pero cuando ingreso la otra al momento de ...
  #1 (permalink)  
Antiguo 24/11/2009, 07:23
 
Fecha de Ingreso: diciembre-2008
Ubicación: Av. Republica Casa#106
Mensajes: 125
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Solución

Buenos dias... por fa tengo un detalle con este script... el me funciona bien en una columna pero cuando ingreso la otra al momento de ingresar un dato en la nueva columna que ingrese me inavilita la columna anterior y automaticamnete me almacena la informacion de la nueva columna y la informacion de la vieja columna no me la almacena...

Esta es una funcion de tres cajas de texto o input que cuando voy ingresando un numero en las 2 primeras cajas automaticamente en la tercera caja me da el resultado o la suma de lo las 2 primeras cajas.

Ejm: 5 + 5 = 10

Aqui les voy a dejar el codigo para que lo chequeen.

<?php

echo"<table width=755 cellpadding=1 cellspacing=2 bgcolor=#F4F4F4 border=1 align=center style='border:1px solid #042E57'>
<form action=$page method=post AUTOCOMPLETE=ON>
<tr><td colspan=4 align=center bgcolor=#042E57>
<font class=normal color=#FFFFFF>$historia</td>

<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta content='text/html; charset=iso-8859-1'
http-equiv='Content-Type' />
<script>
function calculo(f)
{
var cantidad=f.txtcantidad.value;
var precio=f.txtprecio.value;
var subt = (Number(cantidad) + Number(precio));

if (isNaN(subt))
{
alert ('La cantidad debe ser en numeros enteros');
f.txtcantidad.focus();
}
else
{
f.txttotal.value=subt; // Control que muestra el total
}
}
</script>


</head>

<body>
<tr>
<td align=center><font class=normal2> $%&$%&$%&$:</td>
<form action='' method=post>
<td align=center><input onblur='calculo(this.form)' id='txtcantidad' name='primera_1' value='$primera_1'/></td>
<td align=center><input onblur='calculo(this.form)' id='txtprecio' name='sucesiva_1' value='$sucesiva_1'/></td>
<td align=center><input maxlength='10' size='10' id='txttotal' name='total_a' value='$total_a'/></td>
</tr>

<tr>
<td align=center><font class=normal2> $%&$%&$%&$:</td>
<form action='' method=post>
<td align=center><input onblur='calculo(this.form)' id='txtcantidad' name='primera_2' value='$primera_2'/></td>
<td align=center><input onblur='calculo(this.form)' id='txtprecio' name='sucesiva_2' value='$sucesiva_2'/></td>
<td align=center><input maxlength='10' size='10' id='txttotal' name='total_a' value='$total_a'/></td>
</tr>


</body>
</html>
";


echo"<tr><td colspan=4 bgcolor=#042E57>";
if($arr[0]=='')
echo"<tr><td colspan=4 align=center bgcolor=#042E57>
<input type=hidden name=veces value=$veces>
<input type=hidden name=buscar value=1>
<input type=hidden name=registrar_consultas_externas value=1>
<input type=submit class=boton6 value=REGISTRAR></td></tr>";
else
echo"<table align=center cellpaddig=0 cellspacing=0><tr><td>
<tr><td colspan=4 align=center bgcolor=#042E57>
<input type=hidden name=actualizar_consultas_externas value=1>
<input type=hidden name=buscar value=1>
<input type=hidden name=veces value='$veces'>
<input type='submit' class=boton6 value=ACTUALIZAR></form></td>

<form action='$page' method=post onSubmit='return(validar3(this))'>
<td>
<td>
<input type=hidden name=eliminar_consultas_externas value=1>
<input type=hidden name=veces value='$veces'>
<input type=submit class=boton6 value=ELIMINAR></td>
</form>

<form action='$page' method=post>
<td>
<input type=hidden name=buscar value=1>
<input type=hidden name=veces value='$veces'>
<input type=submit class=boton6 value=CANCELAR></td></tr>
</table>";
echo"</form>
</table>";

?>
  #2 (permalink)  
Antiguo 24/11/2009, 07:52
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Solución

me parece que te hace falta revisar de nuevo el manual XHTML.
  1. primero, los forms no pueden estar anidados.
  2. segundo, debes cerrar correctamente las etiquetas. es decir, tus contenidos van dentro de BODY. en la parte final tienes un if/else en php que agrega contenido luego de haber cerrado el BODY.
  3. tercero, los IDs tienen que ser unicos en el documento. o sea, no puedes repetir los valores.
este ultimo punto es el que te conflige en javascript. estas haciendo las referencias de los campos por ID en lugar de por NAME. puedes hacerlo por ID pero no de ese modo. un elemento por ID se obtiene con la funcion document.getElementById.

y por favor, la proxima vez ubica tu codigo dentro de los bbcode [code] [/code] o [highlight=javascript] [/highlight].
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 24/11/2009, 07:56
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Solución

Hola

La manera mas sencilla es copiar otra vez la función con un nombre distinto para la segunda operación aritmética

Suerte

Lo siento zerokilled no me dí cuenta
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 24/11/2009, 08:01
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Solución

@Adler,
no te preocupes por eso, man. hace tiempo que no nos encontramos en un tema. saludos,
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 24/11/2009, 09:11
 
Fecha de Ingreso: diciembre-2008
Ubicación: Av. Republica Casa#106
Mensajes: 125
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Solución

Hola zerokilled pero soy nuevo en este tipo de programación y no entendi muy bien tu comentario. Seria mucho pedirte que fueras un poco mas claro... Gracias.
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 21:07.