En PHP quiero hacer una función de OnClick para cuando se marque el checkbox (sume o reste)

Tengo estos códigos

¿

<?php
function calcula($valor)
{
$total = $total + $valor;
echo $total;
}
?>

<input type="checkbox" name="Book" id="Book" onclick="calcula(99.99);"/>
<label for="Book">Add this for US$99.99</label>
<input type="checkbox" name="DVD" id="DVD" onclick="calcula(15.35);"/>
<label for="DVD">Add this for US$15.35</label>

Entonces quiero que se sume el valor si el checkbox esta' marcado o que se le reste dicho valor si ya fue quitado el checkmark

1 Respuesta

Respuesta
1

Lo que intentas hacer no es posible con php como tal vaya el trabajo dinámico en tiempo real para esto forzosamente javascript y si quieres que se utilice un archivo php se hace una llamada con ajax para esto nos podemos auxiliar con jquery

Y para esto necesito saber si es forzoso que utilices php vaya si es por requerimiento o alguna tarea para ponerte el código que pueda ayudarte ya que siempre hay varios caminos para llegar a una solución

Gracias por tu respuesta...

Mira, yo soy un programador de la vieja ola (Cobol, Clipper, FoxPro, Visual Basic) y ahora he tratado de actualizarme un poco... y he visto que PHP es el lenguaje que mas se me parece a clipper (por ejemplo)... (NOTA: Traté con basic.net y no pude :( )

Y ahora estoy haciendo un proyecto en PHP y quisiera hacer eso que estoy pidiendo, pero si existe otra forma, como AJAX o JQuery, y el cual se pueda mezclar con PHP, se le agradecería su oportuna ayuda....

Gracias,

Que tal de hecho yo empecé como tu con clipper tubo c pascal cobol y cosas así y de hecho si piensas manejar php sin duda ajax, javascript, jquery(que no es mas que un framework hecho en javascript) van de la mano así como que manejaras html sin duda y css en fin me estoy emocionando

Vámonos por partes te voy a hacer un ejemplo y te lo envío en unos momentos para que lo revises para lo cual ya debes tener un servidor apache montado en tu equipo vaya un wamp server o xampp yo en lo personal utilizo wamp

Te envío un ejemplo para que lo pruebes si tienes problemas me avisas recuerda tienes que tener un servidor para PHP instalado en tu maquina

https://dl.dropboxusercontent.com/u/78716571/TE.rar

Mil gracias por tu ayuda y CREO que con este pequeño ejemplo ya me convertiré en todo un experto, así como lo eres tú :) Este es exactamente el ejemplo que yo necesitaba, y ya queda de mi, entenderlo bien y modificar con mis propias necesidades... Pero ahora me surgen algunas preguntas...

1.- El archivo js/jquery.js. Tu entiendes todo eso que está en ese archivo ?

2.- En index.html. si te fijas en : $.post("datos.php",{op:1,val:'SELECCIONADO'},function(res) la parte esa final function(res), a que se refiere lo de RES ?.... he tratado de buscar ese parámetro o lo que sea por cualquier parte y no lo encuentro... a que se refiere ?

Con esa ultima pregunta, creo que entendería todo mil por mil

Gracias de todos modo por tu tremenda ayuda

Primero quisiera que me respondieras esas preguntas... Pero ya te envío mis modificaciones YA FUNCIONANDO como yo quiero :)

<HTML>
<head>
<title>EJEMPLO TODO EXPERTOS</title><script src="js/jquery-1.8.2.js"></script>
<script src="js/jquery.js"></script>
<script type="text/javascript">
$('document').ready(function(){
var val=0;
$("#libros").click(function() {
if($("#libros").is(':checked'))
{
var val1=10;
}
else
{
var val1=-10;
}
val=val+val1
$.post("datos.php",{op:2,val:val},function(res){
$("#txtValor").val(res);
});
});
$("#cuadernos").click(function() {
if($("#cuadernos").is(':checked'))
{
var val2=5;
}
else
{
var val2=-5;
}
val=val+val2
$.post("datos.php",{op:2,val:val},function(res){
$("#txtValor").val(res);
});
});
});
</script>
</head>
<body>
<label>Valor regresado al presionar Checkbox:</label><input type="text" id="txtValor" size="100"/>
<br />
<input type="checkbox" id="libros" /><label>Libros $10</label>
<input type="checkbox" id="cuadernos" /><label>Cuadernos $5</label>
</body>
</html>

===========

DATOS...

<?php
//este valor lo recibimos de una función llamada post en jquery para esto
//este es un ejemplo por así decirlo nivel intermedio ya que no utilizamos php para escribir la pagina
//sino que hacemos as operaciones en javascript
//pedimos resultados en php y las incrustamos de nuevo en html
$suma = $_POST['val'];
echo ("La sumatoria es :" . $suma);
?>

Gracias por todo

Que tal telas preguntas iniciales el archivo jquery.js es el framework de java script sobre el que trabajamos y si se le entiende para esto hay que estudiar un poco mas sobre javascript

Res es lo que nos regresa el archivo php vaya en el archivo php todo lo que se escribe con la función echo la función $. Post lo almacena en res y si te fijas es lo que metemos en val

En cuanto a tu código ya hace lo que necesita solo es ir puliendo la técnica pero vas bien cualquier cosa aquí estamos para lo que necesites

Creo que podríamos dar la pregunta por finalizada para que la cierres y des tu puntuación

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas