Stack Overflow en español Asked on November 29, 2021
estoy intentando hacer un cupon el cual consulte a traves de ajax si el cupon existe me mande una alerta que si existe y si no que me mande un error con un mensaje y hasta aca el codigo funciona pero al pasarle una variable pero me sale el siguiente error de variable precios_id no definida no se porque me sale
vista
<link rel="stylesheet" href="css/styles.css">
<script src="https://code.jquery.com/jquery-3.2.1.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#cupon').on('blur', function(){
$('#result-cupon').html('<img src="images/loader.gif" />').fadeOut(1000);
var cupon = $(this).val();
var dataString = 'cupon='+cupon;
$.ajax({
type: "POST",
url: "{{asset('check_cupon_availablity.php')}}",
data: dataString,
success: function(data) {
$('#result-cupon').fadeIn(1000).html(data);
}
});
});
});
</script>
</head>
<div class="">
<div class="row">
<div id="content" class="col-lg-8">
<form action="#" method="post" >
<div class="form-group">
<label for="cupon">Cupon</label>
<input type="text" class="form-control" id="cupon" name="cupon" placeholder="Captura aquí tu cupón">
<label for="precios_id">precios_id</label>
<input type="text" class="form-control" id="precios_id" name="precios_id" placeholder="" value="{{$xd}}">
<div style="background: #1abac7;width: 18%;border-radius: 10%" >
<img src="{{asset('images/lupa.png')}}" width="20px" style="margin-right: 11%" > Buscar
</div>
<div id="result-cupon" ></div>
</div>
</form>
</div>
</div>
</div>
esta es la conexion a php que hace la consulta para saber si el cupon existe y quiero jalarme ademas de si existe su id check_cupon_availablity.php
<?php
define('DB_SERVER', 'localhost');
define('DB_SERVER_USERNAME', 'root');
define('DB_SERVER_PASSWORD', '');
define('DB_DATABASE', 'prueba');
$connexion = new mysqli(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE);
sleep(1);
if (isset($_POST)) {
$cupon = (string)$_POST['cupon'];
$precios_id = (string)$_POST['precios_id'];
$result = $connexion->query(
'SELECT * FROM precios WHERE cupon = "'.strtolower($cupon).'"'
);
if ($result->num_rows > 0) {
echo '<div class="alert alert-success"><strong>Enhorabuena!</strong> Cupon valido. '.$cupon.' '.$precios_id.'<a class="btn" href="https://pagina.com/">dd</a>
</div>';
} else {
echo '<div class="alert alert-danger"><strong>Oh no!</strong> Cupon invalido.</div>';
}
}
Ya que estas enviando los datos por AJAX deberias incluir todos los datos necesarios: cupon
, precios_id
$(document).ready(function() {
$('#cupon').on('blur', function(){
$('#result-cupon').html('<img src="images/loader.gif" />').fadeOut(1000);
var cupon = $(this).val();
var precios_id = $("#precios_id").val();
var dataString = 'cupon='+cupon+'&precios_id='+precios_id;
$.ajax({
type: "POST",
url: "{{asset('check_cupon_availablity.php')}}",
data: dataString,
success: function(data) {
$('#result-cupon').fadeIn(1000).html(data);
}
});
});
});
Otra manera mas conveniente suponiendo que deseas enviar todos los valores del formulario, es usar la funcion $(form).serialize()
para generar automaticamente los datos de POST
$.ajax({
type: "POST",
url: "{{asset('check_cupon_availablity.php')}}",
data: $("form").serialize(),
success: function(data) {
$('#result-cupon').fadeIn(1000).html(data);
}
});
Mejor aun puedes agregar un id al formulario
<form id="myform" action="" method="post" >
Y luego usarlo como referencia en data:
data: $("#myform").serialize(),
EDIT:
Para usar los valores en la respuesta utiliza:
if ($row = $result->fetch_assoc()){
$precio=$row["preciomx"];
echo "<div class='.... $precio >"
}
Answered by F.Igor on November 29, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP