Hola,
estoy intentando que en un formulario como el código que expongo me aparezca la variable "cantidadkm" que envio a través de POST a gastos.php pero sí que envia la variable
$.post( "gastos.php", { cantidadkm: "$_POST[cantidadkm]", id_usuario: "2pm" } );
id_usuario pero no la de cantidadkm.
He puesto el script de javascript en diferentes órdenes pero no lo consigo.
¿Podéis alguno que controle orientarme dónde está el fallo o cómo enviar las variables del formulario?
No sé qué pasa
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php
//Inicializar una sesion de PHP
session_start();
//Validar que el usuario este logueado y exista un UID
if ( ! ($_SESSION['autenticado'] == 'SI' && isset($_SESSION['uid'])) )
{
//En caso de que el usuario no este autenticado, crear un formulario y redireccionar a la
//pantalla de login, enviando un codigo de error <form name="formulario" method="post" action="index.php">
?>
<form name="formulario" method="post" action="index.php">
<input type="hidden" name="msg_error" value="2">
</form>
<script type="text/javascript">
document.formulario.submit();
</script>
<?php
}
//Conectar BD
include("conectar_bd.php");
conectar_bd();
//Sacar datos del usuario que ha iniciado sesion"Propietario/a de ".$fila['Direccion']." ".$fila['PuertaLocalGaraje']
$sql = "SELECT tx_nombre,tx_apellidoPaterno,tx_TipoUsuario,id_usuario, tx_password
FROM tbl_users
LEFT JOIN ctg_tiposusuario
ON tbl_users.id_TipoUsuario = ctg_tiposusuario.id_TipoUsuario
WHERE id_usuario = '".$_SESSION['uid']."'";
$result =mysql_query($sql);
$nombreUsuario = "";
$cif = "";
//Formar el nombre completo del usuario
if( $fila = mysql_fetch_array($result) )
$nombreUsuario = "".$fila['tx_nombre'];
$cif = "".$fila['CIF'];
//Cerrrar conexion a la BD <form action="insertarvisitas.php" method="POST" name="form">echo '<td>'.'<a href="principal.php?id='.$muestra['ofi'].'">'.'<strong>Ir a Registrar</strong>'.'</a>'.'</td>';
mysql_close($conexio);
?>
<html lang="es">
<!doctype HTML>
<head>
<title>UGT Bankia
</title>
<meta charset="utf-8"/>
<meta name="viewport" content="width=devide-width,initial-scale=1"/>
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico"/>
<link rel="stylesheet" href="css/estilos.css" />
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]>-->
<link rel="stylesheet" href="flexslider.css" media="screen" />
<script src="jquery.min.js"></script>
<script src="jquery.flexslider-min.js"></script>
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
<!-- Includes for this demo -->
<link rel="stylesheet" href="css/flexslider.css" media="screen" />
<!-- Hook up the FlexSlider -->
<script>
$(window).load(function() {
$('.flexslider').flexslider();
});
</script>
<script type="text/javascript">
<!--
$().ready(function() {
$("#frmlogin").validate();
$("#usuario").focus();
});
// -->
</script>
</head>
<body>
<header>
<!<Cerrrar conexion a la BDlink rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<!<Cerrrar conexion a la BDlink rel="icon" href="/favicon.ico" type="image/x-icon">
<h1>
<a href="index.php" >
<img class="fade" alt="bla bla" src="img/bextlan-logo.jpg" />
</a>
</h1>
<nav>
<h2> <td width="15px" align="center">
<!-- Proporcionar Link para cerrar sesion -->
<a href="cerrarSesion.php">Cerrar Sesión </a>
</td>
</h2>
</nav>
</header>
<section id="contenido2">
<br/>
<section id="Mercados2">
<article id="servicio12">
<br/>
<h3><tr> <!-- Dar Bienvenida al usuario -->
<td width="100px" align="right">Bienvenid@ <b><?php echo $nombreUsuario ?> </b></td>
</tr></h3>
<p>
<br/>
Por favor, registra tu visita indicando todos los campos.
<br/>
<br/>
<?php
;
?>
</head>
<body>
<main>
<div id="invoice">
<div class="alojamiento-box"> <form name="formulario" method="post" action="formulario1806.php">
<h3>GASTOS REALIZADOS POR</h3>
<p> </p>
<h3>DESPLAZAMIENTO</h3>
<div class="alojamiento-box">
<div>Km.:
<input type="text" class="qty" name="cantidadkm" />
Unit price:
<input type="text" class="unit" value="0.19" readonly/>Cantidad:
<input type="text" class="amount-aloj" readonly />
</div>
<div>Km.:
<input type="text" class="qty" />
Unit price:
<input type="text" class="unit" value="0.19" readonly/>Cantidad:
<input type="text" class="amount-aloj" readonly />
</div>
<div class="alojamiento-box">
<div>Km.:
<input type="text" class="qty" />
Unit price:
<input type="text" class="unit" value="0.19" readonly/>Cantidad:
<input type="text" class="amount-aloj" readonly />
</div>
<div>Transporte público:
<input type="text" class="qty" value="1" />Gasto realizado:
<input type="text" class="unit" />Cantidad:
<input type="text" class="amount-aloj" readonly />
</div>
<div>Transporte Metropolitano:
<input type="text" class="qty" />Gasto Realizado:
<input type="text" class="unit" />Cantidad:
<input type="text" class="amount-aloj" readonly />
</div>Subtotal:
<input type="text" class="alojamiento" readonly />
</div>
<h3>DIETAS</h3>
<p> </p>
<div class="alojamiento-box">
<div>Km.:
<input type="text" class="qty" />
Unit price:
<input type="text" class="unit" value="0.19" readonly/>Cantidad:
<input type="text" class="amount-dietas" readonly />
</div>
<div>Transporte público:
<input type="text" class="qty" value="1" />Gasto realizado:
<input type="text" class="unit" />Cantidad:
<input type="text" class="amount-dietas" readonly />
</div>
<div>Transporte Metropolitano:
<input type="text" class="qty" />Gasto Realizado:
<input type="text" class="unit" />Cantidad:
<input type="text" class="amount-dietas" readonly />
</div>Subtotal:
<input type="text" class="dietas" readonly />
</div>
<br>
<br>
DIETAS
<br>
<br>
<div class="desplazamiento-box">
<div>Quantity:
<input type="text" class="qty" />Desayunos:
<input type="text" class="unit /">Cantidad:
<input type="text" class="amount-desp" readonly />
</div>
<div>Quantity:
<input type="text" class="qty" />Gasto realizado:
<input type="text" class="unit" />Cantidad:
<input type="text" class="amount-desp" readonly />
</div>
<div>Cantidad:
<input type="text" class="qty" />Gasto en Desayunos:
<input type="text" class="unit /">Cantidad:
<input type="text" class="amount-desp" readonly />
</div>
<div>Quantity:
<input type="text" class="qty" />Gasto realizado:
<input type="text" class="unit" />Cantidad:
<input type="text" class="amount-desp" readonly />
<div>Quantity:
<input type="text" class="qty" />Gasto realizado:
<input type="text" class="unit" />Cantidad:
<input type="text" class="amount-desp" readonly />
</div>Subtotal:
<input type="text" class="desplazamiento" readonly />
</div><br />
<br>
<br>
Total: <input type="text" class="total" readonly />
<?php
$cantidadkm=$_POST['cantidadkm'];
?>
</div>
</form>
<center>
<form name="form1">
<input type="button" name="boton" value="pinchame" onMouseOver="cambia();" onMouseOut="descambia();" onClick="gracias();"></center>
<script type="text/javascript">
<script type="text/javascript" src="//code.jquery.com/jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="js/scripts.js"></script>
<script type="text/javascript">
$(function () {
function fnAlltotal() {
var alojamiento_total = 0, dietas_total = 0, otrosgastos_total = 0,
desplazamiento_total = 0;
$('.amount-aloj').each(function () {
alojamiento_total += parseFloat($(this).val() || 0);
});
$('.amount-desp').each(function () {
desplazamiento_total += parseFloat($(this).val() || 0);
});
$('.amount-dietas').each(function () {
dietas_total += parseFloat($(this).val() || 0);
});
$('.alojamiento').val(alojamiento_total);
$('.desplazamiento').val(desplazamiento_total);
$('.dietas').val(dietas_total);
$('.total').val((alojamiento_total + desplazamiento_total+ dietas_total).toFixed(2));
}
$('.unit').on('keyup', function () {
var self = $(this),
qtyVal = self.prev().val();
self.next().val(qtyVal * self.val());
fnAlltotal();
});
$('.qty').on('keyup', function () {
var self = $(this),
unitVal = self.next().val();
self.next().next().val(unitVal * self.val());
fnAlltotal();
});
});
</script>
<script language="javascript" type="text/javascript">
function cambia(){
document.forms[1].elements[0].value='?me vas a pinchar?'
}
function descambia(){
document.forms[1].elements[0].value='pinchame'
}
function gracias(){
alert('!Gracias por pincharme!')
$.post( "gastos.php", { cantidadkm: "$_POST[cantidadkm]", id_usuario: "2pm" } );
};
</script>
</form>
</main>
<footer>
</footer>
</body>
</html>
el javascript no tiene acceso a php... si quieres que el jscript tenga ese valor tendrías que hacer
$.post( "gastos.php", { cantidadkm: "<?php echo $_POST[cantidadkm]; ?>", id_usuario: "2pm" } );
Muchísimas Gracias.
He añadido el echo pero no sé por qué me "viaja" el valor 1? El "formulario" me calcula bien los cálculos pero nada no hay manera que viaje a gastos lo que escribo sin embargo el id_usuario sí viaja bien.
creo que no entiendo lo que quieres
Sí si que lo entiendes.
Yo quiero que el valor del campo cantidadkm (que es un campo del formulario que pone el usuario de la web) "viaje" por post a gastos.php (que se encarga de recibirlo e insertarlo en la base de datos.
Lo que no sé es por qué cantidadkm me viaja siempre el valor "1" cuando pongo otros valores "20", "30" etc (en el formulario).
Debo de tener algo mal en el código javascript o en el propio forumulario (estoy alterando los ordenes de los códigos etc pero tampoco es eso).