Hola, ehh yo de nuevo

Perdón por la molestia, de aceurdo a tu script, me dijeron que si se podía hacer una modificación
que en vez de sumar un valor adicional por la de sumaraltotla, se le sume el 10% del valor de la suma de los checkbox seleccionados y después de esa suma hay si se multiplique el otro valor por ese total, y aquí viene lo peor que al presionar un botón aaprezca al lista de los checkbox seleccionados en otro página, disculpame por tanto molestadera pero es que falte mucho a clase y no entiendo nada
tu código era así
<html>
<head>
<script> 
var total=0; 
function sumar(valor) { 
total += valor; 
document.formulario.total.value=total; 

function restar(valor) { 
total-=valor; 
document.formulario.total.value=total; 

function restar(valor) { 
total-=valor; 
document.formulario.total.value=total; 

function multiplicarpor(valor){ 
total = total * parseInt(valor); 
document.formulario.total.value=total; 

function sumaraltotal(valor) { 
total = total + parseInt(valor); 
document.formulario.total.value=total; 

</script>
</head>
<body>
<form name="formulario">
<p> 
    <input name="checkbox" type="checkbox" onClick="if (this.checked) sumar(1000); else restar(1000)" value="checkbox"> 
    $1<br> 
<input name="checkbox" type="checkbox" onClick="if (this.checked) sumar(2000); else restar(2000)" value="checkbox">$2<br> 
<label for="multiplicar">Multiplicar por</label><input onChange="multiplicarpor(this.value);" type="text" name="multiplicar" value="0"><br> 
<label for="sumar2">Sumar al total</label><input onChange="sumaraltotal(this.value);" type="text" name="sumar2" value="0"><br> 
<label for="total">Resultado Total</label><input type="text" name="total" value="0"> 
  </p>
<p> </p>
</form> 
</body>
</html>

1 Respuesta

Respuesta
1
Ok pues el código javascript quedaría así, apuntando a una página en PHP en la que recoges las variables del formulario sumar1 (1000) sumar2 (2000) y diezpc ( sumar 10% de las seleccionadas) y mostrar según si se han elegido no, es decir si existen (isset)
Código JavaScript Form:
<html>
<head>
<script>
var total=0;
function sumar(valor) {
total += valor;
document.formulario.total.value=total;
}
function restar(valor) {
total-=valor;
document.formulario.total.value=total;
}
function restar(valor) {
total-=valor;
document.formulario.total.value=total;
}
function multiplicarpor(valor){
total = total * parseInt(valor);
document.formulario.total.value=total;
}
function sumaraltotal(valor) {
total = total + parseInt(valor);
document.formulario.total.value=total;
}
function diezpct(){
if (document.formulario.sumar1.checked  == true) { suma1=1000;} else { suma1=0;}
if (document.formulario.sumar2.checked  == true) { suma2=2000;} else { suma2=0;}
suma=(10 * (suma1+suma2)) / 100;
total= total + suma;
document.formulario.total.value=total;
}
</script>
</head>
<body>
<form name="formulario" action="resultado.php" method="post">
<p>
    <input name="sumar1" type="checkbox" onClick="if (this.checked) sumar(1000); else restar(1000)" value="Sumar 1000">
    $1<br>
<input name="sumar2" type="checkbox" onClick="if (this.checked) sumar(2000); else restar(2000)" value="Sumar 2000">$2<br>
<input name="diezpc" type="checkbox" onClick="diezpct();" value="Sumar 10% de los checkbox seleccionados">10%<br>
<label for="multiplicar">Multiplicar por</label><input onChange="multiplicarpor(this.value);" type="text" name="multiplicar" value="0"><br>
<label for="total">Resultado Total</label><input type="text" name="total" value="0">
  </p>
<p> <input name="Enviar" type="submit" value="Enviar"></p>
</form>
</body>
</html>
Código resultados.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ejercicio Checkbox</title>
</head>
<body>
<?php
$check1 ='';
$check2 ='';
$check3 ='';
if (isset($_POST['sumar1'])) $check1 = $_POST['sumar1'];
if (isset($_POST['sumar2'])) $check2 = $_POST['sumar2'];
if (isset($_POST['diezpc'])) $check3 = $_POST['diezpc'];
echo "Usted marcó:<br><br>";
if ($check1 != '') echo  $check1."<br>";
if ($check2 != '') echo  $check2."<br>";
if ($check3 != '') echo  $check3."<br>";
?>
</body>
</html>
Espero que te sirva, hombre yo te aconsejaría que lo hagas tu mismo porque siempre es mejor ya sabes, pero si tienes que recuperar ritmo de clase pues bueno, alguna ayudita nunca viene mal ;).
Ven explicame una cosita cuando se coloca
function sumaraltotal(valor) { 
total = total + parseInt(valor); 
document.formulario.total.value=total; 
}
Me podrías explicar que hace cada pedazo, si noes mucha molestia con eso ya tendría idea de como hacerlo si me dejan más cosas de estas
Claro, sin problema :).
function sumaraltotal(valor) // Declaración de la función sumaraltotal que recibe el parámetro valor

Total = total + parseInt(valor); // a la variable que tenemos para calcular los totales le sumamos el parámetro recibido (valor) al que hay que hacerle parseInt para pasarlo a número entero ya que lo recibimos como parámetro de texto.
document.formulario.total.value=total; // Dentro de nuestro documento actual (document.) seleccionamos dentro del formulario (formulario.) el campo que tiene el nombre total(total.) y dentro de ese campo, modificamos su valor(value) para que valga lo que hemos sumado anteriormente.
}
Creo que debía haber empezado por pedir esa explicación, muchísimas gracias, ya con esos seguiré haciendo los fomrularios por mi cuenta, muchas gracias por su ayuda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas