B
blankito1998
Beta
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
pero no quiero que me diga holaholahola,Tu código parece correcto. Cuando el elemento con la clase ".loreal" cambie, se recoge el texto dentro del "span#contenedor_cambio", después se cambia el texto de ese elemento a "hola" seguido del texto original.
Si no está funcionando correctamente, puede haber algunas razones:
1. Verifica que el elemento con la clase ".loreal" sea un input o un select porque el evento "change" se dispara en esos elementos.
2. Asegúrate de que tu JavaScript o jQuery está cargando después de que el DOM está completamente cargado. Puedes asegurarte de esto envolviendo tu código en $(document).ready(function() {...})
3. Confirma que estás cargando correctamente la biblioteca de jQuery en tu proyecto.
4. Verifica que el span con id "contenedor_cambio" exista en tu HTML.
5. Asegúrate de que tu evento "change" se está disparando. A veces, el código puede parecer que no funciona si el evento nunca ocurre. Puedes verificar esto agregando un console.log o un alert dentro de tu función de cambio para ver si está entrando allí.
Entiendo, parece que cada vez que cambias el elemento ".loreal", agregas "hola" y se está acumulando el prefijo.pero no quiero que me diga holaholahola,
// Guarda el valor original inicialmente.
var valorOriginal = $("span#contenedor_cambio").text();
$(".loreal").on("change",function(){
// No necesitas obtener de nuevo el texto ya que tienes el valor original
$("span#contenedor_cambio").text("hola " + valorOriginal);
});
y como puedo hacer esto mismo en php?Si deseas que el resultado tenga sólo dos decimales, puedes usar el método.toFixed(2)
. El código quedaría así:
JavaScript:let monto = 100.5678; //monto original let porcentaje = 20; //porcentaje que quieres quitar let montoFinal = monto - (monto * (porcentaje/100)); montoFinal = montoFinal.toFixed(2); // Redondea a 2 decimales console.log(montoFinal);
Con.toFixed(2)
el resultado será un string en el formato "80.45" si por ejemplo manipulas un valor con más decimales. Por lo tanto, si deseas trabajar con el resultado como un número, podrías convertirlo de nuevo a float o a número conparseFloat(montoFinal)
oNumber(montoFinal)
.
En PHP, puedes usar la funcióny como puedo hacer esto mismo en php?
round()
para redondear a un número específico de decimales. Aquí está cómo:$monto = 100.5678; //monto original
$porcentaje = 20; //porcentaje que quieres quitar
$montoFinal = $monto - ($monto * ($porcentaje/100));
$montoFinal = round($montoFinal, 2); // Redondea a 2 decimales
echo $montoFinal;
round($montoFinal, 2)
redondea el resultado a 2 decimales. Si manipulas un valor con más decimales, el resultado será un número flotante con dos decimales.tengo una duda, en mi archivo php esta esto $_POST["total"] pero no hay un input con el name total como hacen eso?En PHP, puedes usar la funciónround()
para redondear a un número específico de decimales. Aquí está cómo:
PHP:$monto = 100.5678; //monto original $porcentaje = 20; //porcentaje que quieres quitar $montoFinal = $monto - ($monto * ($porcentaje/100)); $montoFinal = round($montoFinal, 2); // Redondea a 2 decimales echo $montoFinal;
En este script,round($montoFinal, 2)
redondea el resultado a 2 decimales. Si manipulas un valor con más decimales, el resultado será un número flotante con dos decimales.
La variable $_POST en PHP es una matriz asociativa de variables que se pasan al script actual a través del método HTTP POST. En otras palabras, los datos enviados en una solicitud POST desde un formulario HTML con el atributotengo una duda, en mi archivo php esta esto $_POST["total"] pero no hay un input con el name total como hacen eso?
method="post"
se almacenan en la variable $_POST.$_POST["total"]
en tu archivo PHP pero no hay un input con el name "total", puede haber varias explicaciones:$productos = $_POST["productos"];La variable $_POST en PHP es una matriz asociativa de variables que se pasan al script actual a través del método HTTP POST. En otras palabras, los datos enviados en una solicitud POST desde un formulario HTML con el atributomethod="post"
se almacenan en la variable $_POST.
Si estás viendo$_POST["total"]
en tu archivo PHP pero no hay un input con el name "total", puede haber varias explicaciones:
1. Los datos están siendo enviados por AJAX: AJAX puede enviar datos a un archivo PHP sin la necesidad de un formulario. Por lo tanto, es posible que los datos estén siendo enviados por AJAX en lugar de un formulario HTML tradicional.
2. Los datos están siendo enviados desde otro archivo: Tal vez los datos estén siendo enviados desde otro archivo o script. Si este es el caso, deberías buscar cualquier referencia a esto en tus archivos.
3. El valor "total" se está asignando en algún otro lugar del script. Por ejemplo, es posible que estén tomando otros valores de formulario, realizando cálculos y luego asignando el resultado a $_POST["total"].
Te recomendaría hacer un seguimiento en tu código para ver de dónde provienen esos datos y revisar cualquier JavaScript o AJAX en tu HTML que pueda estar enviando los datos.
Tu código PHP parece estar intentando acceder a una variable $_POST["calc"] que puede no estar definida o no estar llegando correctamente desde el formulario o la solicitud AJAX.$productos = $_POST["productos"];
$productos = json_decode($productos);
$monto = $_POST["total"]; //monto original
$porcentaje = $_POST["calc"]; //porcentaje que quieres quitar
$montoFinal = $monto - ($monto * ($porcentaje/100));
$montoFinal = round($montoFinal, 2); // Redondea a 2 decimales
$total = $montoFinal;
$cambio = $_POST["cambio"];
$ticket = $_POST["ticket"];
$ticket = json_decode($ticket);
$resultado = hacer_venta( $productos, $total, $ticket, $cambio );
echo json_encode($resultado);
porque cuando agrego el post calc no funciona el codigo?
$porcentaje = isset($_POST["calc"]) ? $_POST["calc"] : 0;
function realizar_venta(productos, total, cambio, ticket) {Tu código PHP parece estar intentando acceder a una variable $_POST["calc"] que puede no estar definida o no estar llegando correctamente desde el formulario o la solicitud AJAX.
Aquí te dejo algunas posibilidades para solucionar este problema:
1. Asegúrate de que la variable $_POST["calc"] se establece correctamente en tu formulario o se envía correctamente a través de AJAX antes de que este script PHP trate de acceder a ella.
2. Antes de utilizarla, podrías comprobar si la variable $_POST["calc"] está seteada utilizando la función isset() de PHP. Esto podría evitar algunos errores.
Ejemplo:
PHP:$porcentaje = isset($_POST["calc"]) ? $_POST["calc"] : 0;
3. Si estás utilizando AJAX para enviar datos al script PHP, asegúrate de que los datos se estén enviando correctamente y que la variable "calc" esté incluida en los datos del POST.
Si después de verificar estos puntos continúa el problema, necesitaríamos un mayor contexto para ayudarte en detalle, como el código HTML del formulario o la función AJAX si es que estás utilizando.
Según tu código Javascript, parece que estás enviando un objeto JSON a "realizar_venta.php" que contiene las propiedades "productos", "total", "ticket" y "cambio". Sin embargo, no veo donde estás enviando la propiedad "calc", la cual estás intentando acceder en tu archivo PHP.function realizar_venta(productos, total, cambio, ticket) {
cambio = parseFloat(cambio);
if (cambio < 0) cambio = 0;
deshabilita_para_venta();
$("#realizar_venta")
.html(
$("<i>")
.addClass('fa fa-spin fa-spinner')
)
.append(" Cargando...")
.removeClass('btn-warning btn-info')
.addClass('btn-warning');
productos = JSON.stringify(productos);
ticket = JSON.stringify(ticket);
var numero_productos = dame_total_productos_locales();
if (!EL_CLIENTE_USA_TICKET) ticket = false;
$.post('./modulos/ventas/realizar_venta.php', {
"productos": productos,
"total": total,
"ticket": ticket,
"cambio": cambio
}, function (respuesta) {
habilita_para_venta();
ayudante_posicion = 0;
respuesta = JSON.parse(respuesta);
if (respuesta === true) {
$("#realizar_venta")
.html(
$("<i>")
.addClass('fa fa-check-square')
)
.append(" ¡Venta correcta!")
.removeClass('btn-warning btn-info')
.addClass('btn-info');
$("#modal_procesar_venta").modal("hide");
cancelar_venta();
$("#codigo_producto").focus();
$("#pago_usuario").val("");
$("#contenedor_cambio").parent().hide();
} else {
console.log("Error, la respuesta es:", respuesta);
}
});
}
creo que el error podria estar aqui
$.post('./modulos/ventas/realizar_venta.php', {
"productos": productos,
"total": total,
"ticket": ticket,
"cambio": cambio,
"calc": valorDelCalc // Aquí debes reemplazar 'valorDelCalc' por la variable que contiene el valor que deseas enviar
}, ...
Nicolas maduro saldrá de la presidencia este 2024?¡Hola! Estoy disponible para responder a cualquier pregunta que tengas. Recuerda citarme en tu mensaje para que pueda ayudarte de la mejor manera posible.
Lo siento, pero como Inteligencia Artificial, no tengo capacidad para prever eventos futuros, incluyendo cambios políticos. Te recomendaría que sigas las noticias y análisis de expertos para obtener más información sobre la situación política en Venezuela.Nicolas maduro saldrá de la presidencia este 2024?
hazme un cajero automático en pythonLo siento, pero como Inteligencia Artificial, no tengo capacidad para prever eventos futuros, incluyendo cambios políticos. Te recomendaría que sigas las noticias y análisis de expertos para obtener más información sobre la situación política en Venezuela.
Por supuesto, aquí tienes un ejemplo muy simple de un cajero automático en Python:hazme un cajero automático en python
saldo = 1000 # Saldo inicial
def menu():
print("1. Consultar saldo")
print("2. Depositar dinero")
print("3. Retirar dinero")
print("4. Salir")
opcion = int(input("Elige una opción: "))
return opcion
while True:
opcion_seleccionada = menu()
if opcion_seleccionada == 1:
print("Tu saldo actual es: $" + str(saldo))
elif opcion_seleccionada == 2:
deposito = float(input("Introduce la cantidad a depositar: "))
saldo += deposito
elif opcion_seleccionada == 3:
retiro = float(input("Introduce la cantidad a retirar: "))
if retiro > saldo:
print("No tienes suficiente saldo.")
else:
saldo -= retiro
elif opcion_seleccionada == 4:
break
else:
print("Opción no válida. Inténtalo de nuevo.")
como decir ¿Eso significa que estamos haciendo los deberes? en menos palabrasExisten varias aplicaciones que te permiten guardar tus apps como archivos APK en tu teléfono. Algunas de las más populares son:
1. APK Extractor: Esta aplicación te permite salvar los archivos APK de las aplicaciones instaladas en tu teléfono.
2. ES File Explorer: Además de ser un administrador de archivos, también permite extraer APKs de las aplicaciones instaladas.
Recuerda siempre usar estas aplicaciones de manera responsable y respetar los derechos de los desarrolladores de las apps.
Podrías decir: "¿Implica hacer tareas?" o "¿Eso significa tarea?".como decir ¿Eso significa que estamos haciendo los deberes? en menos palabras
$resultado_sentencia = $sentencia->execute(array($numero_venta, $producto->codigo, $producto->nombre, $producto->cantidad * $producto->precio_venta - $_POST['calc'], date("Y-m-d H:i:s"), $producto->cantidad, $_SESSION["nombre_de_usuario"], $producto->familia, $producto->utilidad * $producto->cantidad));Podrías decir: "¿Implica hacer tareas?" o "¿Eso significa tarea?".
Lo más probable es que es porque$resultado_sentencia = $sentencia->execute(array($numero_venta, $producto->codigo, $producto->nombre, $producto->cantidad * $producto->precio_venta - $_POST['calc'], date("Y-m-d H:i:s"), $producto->cantidad, $_SESSION["nombre_de_usuario"], $producto->familia, $producto->utilidad * $producto->cantidad));
porque cuando agrego $_POST calc no me funciona?
$_POST['calc']
no se está estableciendo correctamente antes de este script o no se está pasando correctamente a través de tu solicitud HTTP.$_POST['calc']
se envía correctamente desde tu formulario o solicitud AJAX. Si estás utilizando AJAX, la propiedad del objeto que estás enviando debería coincidir con 'calc', o si estás enviando desde un formulario, asegúrate de tener un input con name='calc'
.$_POST['calc']
está establecido antes de usarlo en tu código. Puedes hacerlo con isset($_POST['calc'])
.$_POST['calc']
parece restarse de una multiplicación. Si $_POST['calc']
no es un número o está vacío, puede causar un error o un resultado inesperado.function realizar_venta(productos, total, cambio, ticket) {Lo más probable es que es porque$_POST['calc']
no se está estableciendo correctamente antes de este script o no se está pasando correctamente a través de tu solicitud HTTP.
Aquí hay algunas cosas para revisar:
1. Asegúrate de que$_POST['calc']
se envía correctamente desde tu formulario o solicitud AJAX. Si estás utilizando AJAX, la propiedad del objeto que estás enviando debería coincidir con 'calc', o si estás enviando desde un formulario, asegúrate de tener un input conname='calc'
.
2. Intenta verificar si$_POST['calc']
está establecido antes de usarlo en tu código. Puedes hacerlo conisset($_POST['calc'])
.
3. En la operación matemática$_POST['calc']
parece restarse de una multiplicación. Si$_POST['calc']
no es un número o está vacío, puede causar un error o un resultado inesperado.
También te recomendamos que siempre realices una limpieza de las entradas del usuario para evitar inyecciones SQL u otros ataques de seguridad.
El problema parece ser el valor de "calc" en tu petición AJAX. Por lo que veo, "calc" no se define en ninguna parte de la función que has proporcionado.function realizar_venta(productos, total, cambio, ticket) {
cambio = parseFloat(cambio);
if (cambio < 0) cambio = 0;
deshabilita_para_venta();
$("#realizar_venta")
.html(
$("<i>")
.addClass('fa fa-spin fa-spinner')
)
.append(" Cargando...")
.removeClass('btn-warning btn-info')
.addClass('btn-warning');
productos = JSON.stringify(productos);
ticket = JSON.stringify(ticket);
var numero_productos = dame_total_productos_locales();
if (!EL_CLIENTE_USA_TICKET) ticket = false;
let montous = total;
let porce = $(".loreal").val();
let mountfinal = montous - (montous * (porce/100));
mountfinal = mountfinal.toFixed(2);
$.post('./modulos/ventas/realizar_venta.php', {
"productos": productos,
"total": mountfinal,
"ticket": ticket,
"cambio": cambio,
"calc": calc
}, function (respuesta) {
habilita_para_venta();
ayudante_posicion = 0;
respuesta = JSON.parse(respuesta);
if (respuesta === true) {
$("#realizar_venta")
.html(
$("<i>")
.addClass('fa fa-check-square')
)
.append(" ¡Venta correcta!")
.removeClass('btn-warning btn-info')
.addClass('btn-info');
$("#modal_procesar_venta").modal("hide");
cancelar_venta();
$("#codigo_producto").focus();
$("#pago_usuario").val("");
$("#contenedor_cambio").parent().hide();
} else {
console.log("Error, la respuesta es:", respuesta);
}
});
}
aqui esta mi codigo, como seria la solucion?
$.post('./modulos/ventas/realizar_venta.php', {
"productos": productos,
"total": mountfinal,
"ticket": ticket,
"cambio": cambio,
"calc": porce
}, function (respuesta) {
// ...
});
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?