Foros del Web » Programando para Internet » Javascript »

suma de value cambia contenido

Estas en el tema de suma de value cambia contenido en el foro de Javascript en Foros del Web. Hola, solicito ayuda para poder terminar el siguiente script. Estoy haciendo un script que de acuerdo al resultado de la suma del valor dado en ...
  #1 (permalink)  
Antiguo 04/11/2011, 17:38
Avatar de regumiau  
Fecha de Ingreso: julio-2005
Mensajes: 17
Antigüedad: 18 años, 9 meses
Puntos: 0
Pregunta suma de value cambia contenido

Hola, solicito ayuda para poder terminar el siguiente script.

Estoy haciendo un script que de acuerdo al resultado de la suma del valor dado en value de cada checkbox modifique el contenido de un texto, pero en la misma pagina, sin refresh ni nada de eso.
en una condicional le indico que si el valor es menor a 3 que diga el texto GO.
en caso contrario debe decir NEXT.

ademas, sin marcar ninguna casilla debe decir GO.

hasta ahora he logrado que imprima en pantalla GO o NEXT de acuerdo al valor, pero este reacciona inmediatamente al clicar en un casillero, borrando pantalla imprimiendose solo el resultado GO o NEXT.

Espero haber detallado bien el tema y que alguien me ayude a corregir este script que paso a dejar aqui:

<html>
<head>
<script>
var total=0;

function sumar(valor) {
total += valor;
document.formulario.total.value=total;
check_status();
}

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

</script>

<SCRIPT language="JavaScript" type="text/javascript">
function check_status() {
if (total < 3) {
document.write("go");
}
else {
document.write("next");
}
}
</script>

</head>
<body>
<form name=formulario>
<input name="checkbox1" type="checkbox" onClick="if (this.checked) sumar(1); else restar(1)" value="1">$1<br>
<input name="checkbox2" type="checkbox" onClick="if (this.checked) sumar(1); else restar(1)" value="1">$1<br>
<input name="checkbox3" type="checkbox" onClick="if (this.checked) sumar(1); else restar(1)" value="1">$1<br>
<input name="checkbox4" type="checkbox" onClick="if (this.checked) sumar(3); else restar(3)" value="3">$3<br>
<input type="text" name="total" value="0">
</form>

<SCRIPT language="JavaScript" type="text/javascript">
document.write(total);
</script>

</body>
</html>

Última edición por regumiau; 05/11/2011 a las 02:39
  #2 (permalink)  
Antiguo 05/11/2011, 04:22
Avatar de Hugo_Euan  
Fecha de Ingreso: abril-2011
Ubicación: Mérida, Yucatán, México
Mensajes: 193
Antigüedad: 13 años
Puntos: 71
Respuesta: suma de value cambia contenido

Hola regumiau

la razón por la que solo imprime GO o NEXT es por que indicas que se sobre escriba todo el documento...

document.write

que tal si mejor indicamos que solo se sobre escriba un modulo (DIV)....

por ejemplo tendriamos un div con un id llamado consola

<div id="consola">Go</div>

y mendiante innerHTML indicamos que reescriba dentro de ese div.....
para ello obtenemos el id mediante getElementById

tambien agregamos una condicion que indique que si la suma es menor a 3 escriba GO si no que comprueba que si la suma es mayor o igual a 3 escriba next.... si no se cumple ningun caso que escriba next... osea cuando el valor es 0 y ningun check esta marcado....

quedaría algo así por el estilo :3

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <script>
  4. var total=0;
  5.  
  6. function sumar(valor) {
  7. total += valor;
  8. document.formulario.total.value=total;
  9. check_status();
  10. }
  11.  
  12. function restar(valor) {
  13. total-=valor;
  14. document.formulario.total.value=total;
  15. check_status();
  16. }
  17.  
  18. </script>
  19.  
  20. <SCRIPT language="JavaScript" type="text/javascript">
  21. function check_status() {
  22. if (total < 3) {
  23.     var consola = document.getElementById("consola");
  24.     consola.innerHTML = "Go";
  25. }
  26. else if(total >=3) {
  27.     var consola = document.getElementById("consola");
  28.     consola.innerHTML = "Next";
  29. }else{
  30.     var consola = document.getElementById("consola");
  31.     consola.innerHTML = "Next";
  32. }
  33. }
  34. </script>
  35.  
  36. </head>
  37. <body>
  38. <form name=formulario>
  39. <input name="checkbox1" type="checkbox" onClick="if (this.checked) sumar(1); else restar(1)" value="1">$1<br>
  40. <input name="checkbox2" type="checkbox" onClick="if (this.checked) sumar(1); else restar(1)" value="1">$1<br>
  41. <input name="checkbox3" type="checkbox" onClick="if (this.checked) sumar(1); else restar(1)" value="1">$1<br>
  42. <input name="checkbox4" type="checkbox" onClick="if (this.checked) sumar(3); else restar(3)" value="3">$3<br>
  43. <input type="text" name="total" value="0">
  44. </form>
  45. <div id="consola">Go</div>
  46. </body>
  47. </html>

Espero que te sea de utilidad

SALUDOS y ÉXITO....
__________________
Se acepta Karma (:

Si Dios con nosotros, quien contra nosotros !!
  #3 (permalink)  
Antiguo 05/11/2011, 06:06
Avatar de regumiau  
Fecha de Ingreso: julio-2005
Mensajes: 17
Antigüedad: 18 años, 9 meses
Puntos: 0
De acuerdo Respuesta: suma de value cambia contenido

GRACIAS Hugo_Euan!!!!!!!!!

Esta perfecto el script ahora, FUNCIONA!!!!!!!!!!


  #4 (permalink)  
Antiguo 06/11/2011, 09:27
Avatar de regumiau  
Fecha de Ingreso: julio-2005
Mensajes: 17
Antigüedad: 18 años, 9 meses
Puntos: 0
Pregunta Respuesta: suma de value cambia contenido

He intentado agregar un selector, para ingresar datos no solo por medio del checkbox, pero parece que debo crear una funcion para que tome los datos, y alli estoy trabado ahora. este me suma hasta los CEROS.

Coloco el script completo aver si me pueden ayudar:

<html>
<head>
<script>
var total=0;
function sumar(valor) {
total += valor;
document.formulario.total.value=total;
check_status();
}
function restar(valor) {
total-=valor;
document.formulario.total.value=total;
check_status();
}
function check_status() {
if (total < 3) {
var consola = document.getElementById("consola");
consola.innerHTML = "Go";
}
else if(total >=3) {
var consola = document.getElementById("consola");
consola.innerHTML = "Next";
}else{
var consola = document.getElementById("consola");
consola.innerHTML = "Next";
}
}
</script>
<script>
var total1=0;
function sumar1(valor) {
total1 += valor;
document.formulario1.total1.value=total1;
check_status1();
}
function restar1(valor) {
total1-=valor;
document.formulario1.total1.value=total1;
check_status1();
}
function check_status1() {
if (total1 < 3) {
var consola1 = document.getElementById("consola1");
consola1.innerHTML = "Go";
}
else if(total1 >=3) {
var consola1 = document.getElementById("consola1");
consola1.innerHTML = "Next";
}else{
var consola1 = document.getElementById("consola1");
consola1.innerHTML = "Next";
}
}
</script>
</head>
<body>
<form name=formulario>
<select name="dato3" onchange="sumar(this.value)">
<option value="">Choice</option>
<option value="0">A</option>
<option value="0">B</option>
<option value="1">C</option>
</select>
<select name="dato4" onchange="sumar(this.value)">
<option value="">Choice</option>
<option value="0">A</option>
<option value="0">B</option>
<option value="1">C</option>
</select>
<select name="dato5" onchange="sumar(this.value)">
<option value="">Choice</option>
<option value="0">A</option>
<option value="0">B</option>
<option value="1">C</option>
</select>
<select name="dato6" onchange="sumar(this.value)">
<option value="">Choice</option>
<option value="0">A</option>
<option value="0">B</option>
<option value="1">C</option>
</select>
<select name="dato7" onchange="sumar(this.value)">
<option value="">Choice</option>
<option value="0">A</option>
<option value="0">B</option>
<option value="1">C</option>
</select>
<input type="text" name="total" value="0">
</form>
<div id="consola">Go</div>

<form name=formulario1>
<input name="checkbox5" type="checkbox" onClick="if (this.checked) sumar1(1); else restar1(1)" value="1">$1<br>
<input name="checkbox6" type="checkbox" onClick="if (this.checked) sumar1(1); else restar1(1)" value="1">$1<br>
<input name="checkbox7" type="checkbox" onClick="if (this.checked) sumar1(1); else restar1(1)" value="1">$1<br>
<input name="checkbox8" type="checkbox" onClick="if (this.checked) sumar1(3); else restar1(3)" value="3">$3<br>
<input hidden type="text" name="total1" value="0">
</form>
<div id="consola1">Go</div>
</body>
</html>

Etiquetas: contenido, formulario, html, suma, cambios
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 17:32.