Попытка связать входы Наследование другим входом

Я пытаюсь связать другие входные данные одним входом, ранее я сделал пример, который я видел в Интернете, чтобы понять и попрактиковаться, пример, который я сделал, был хорошим, и он заполняет все данные, которые я спрашиваю, но когда я пытаюсь реализовать в Мой проект это ничего не делает, в консоли, не показывает мне ошибку или что-то, что может сказать мне, что происходит
я использую PHP 7 и шаблоны Admin LTE

это моя форма

<form name="formulario" id="formulario" method="POST">
<div class="form-group col-lg-6 col-md-6 col-sm-6 col-xs-12">
<input type="hidden" name="idventa" id="idventa">
<label>Numero de viaje:</label>
<input type="text" class="form-control" name="num_viaje" id="num_viaje" maxlength="256" placeholder="Número de viaje" required>
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-6 col-xs-12">
<label>Cliente:</label>
<input type="text" class="form-control" name="nombre" id="nombre" maxlength="256" placeholder="Cliente">
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-6 col-xs-12">
<label>Destino:</label>
<input type="text" class="form-control" name="destino" id="destino" maxlength="256" placeholder="Destino">
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-6 col-xs-12">
<label>Operador:</label>
<input type="text" class="form-control" name="operador" id="operador" maxlength="256" placeholder="Operador" required>
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-6 col-xs-12">
<label>Número de operador:</label>
<input type="text" class="form-control" name="idoperador" id="idoperador" maxlength="256" placeholder="Numero de operador" required>
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-6 col-xs-12">
<label>Tipo de operación:</label>
<input type="text" class="form-control" name="tipoOperacion" id="tipoOperacion" maxlength="256" placeholder="Tipo de operación" required>
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-6 col-xs-12">
<label>Viatico:</label>
<input readonly type="text" class="form-control" name="viatico" id="viatico" maxlength="256" placeholder="Viatico" required onchange="sumar(this.value);">
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-6 col-xs-12">
<label>Caseta:</label>
<input readonly type="text" class="form-control" name="casetas" id="casetas" maxlength="256" placeholder="Casetas" required onchange="sumar(this.value);">
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-6 col-xs-12">
<label>Extras:</label>
<input readonly type="text" class="form-control" name="extras" id="extras" maxlength="256" placeholder="Extras" required onchange="sumar(this.value);">
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-6 col-xs-12">
<label>Cantidad en Diesel:</label>
<input readonly type="text" class="form-control" name="diesel" id="diesel" maxlength="256" placeholder="Diesel" required onchange="sumar(this.value);">
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-6 col-xs-12">
<label>Desgaste 5%:</label>
<input readonly type="text" class="form-control" name="desgaste" id="desgaste" maxlength="256" placeholder="Desgaste 5%" onchange="sumar(this.value);">
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-6 col-xs-12">
<label>Utilidad:</label>
<input readonly type="text" class="form-control" name="utilidad" id="utilidad" maxlength="256" placeholder="Utilidad" onchange="sumar(this.value);">
</div>
<div class="form-group col-lg-6 col-md-6 col-sm-6 col-xs-12">
<label>Inversión total:</label>
<span id="spTotal"></span>
<input readonly type="text" class="form-control" name="total" id="total" maxlength="256" placeholder="Total">
</div>
<div id="estado">Esperando input.</div>
<div class="form-group col-lg-12 col-md-12 col-sm-12 col-xs-12">
<button class="btn btn-primary" type="submit" id="btnGuardar"><i class="fa fa-save"></i> Guardar</button>

<button class="btn btn-danger" onclick="cancelarform()" type="button"><i class="fa fa-arrow-circle-left"></i> Cancelar</button>
</div>
</form>

нижний колонтитул у меня врозь, и я положил

<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.js"></script>
<script type="text/javascript" src="scripts/relleno.js"></script>

relleno.php это

$(function(){
/* Ponemos evento blur a la escucha sobre id nombre en id cliente. */
$('#cliente').on('blur','#nombre',function(){
/* Obtenemos el valor del campo */
var valor = this.value;
/* Si la longitud del valor es mayor a 2 caracteres.. */
if(valor.length>=3){

/* Cambiamos el estado.. */
$('#estado').html('Cargando datos de servidor...');

/* Hacemos la consulta ajax */
var consulta = $.ajax({
type:'POST',
url:'cliente.php',
data:{nombre:valor},
dataType:'JSON'
});

/* En caso de que se haya retornado bien.. */
consulta.done(function(data){
if(data.error!==undefined){
$('#estado').html('Ha ocurrido un error: '+data.error);
return false;
} else {
if(data.destino!==undefined){$('#nombre #destino').val(data.destino);}
if(data.viatico!==undefined){$('#nombre #viatico').val(data.viatico);}
if(data.casetas!==undefined){$('#nombre #casetas').val(data.casetas);}
if(data.extras!==undefined){$('#nombre #extras').val(data.extras);}
if(data.diesel!==undefined){$('#nombre #diesel').val(data.diesel);}
if(data.desgaste!==undefined){$('#nombre #desgaste').val(data.desgaste);}
if(data.utilidad!==undefined){$('#nombre #utilidad').val(data.utilidad);}
if(data.total!==undefined){$('#nombre #total').val(data.total);}
$('#estado').html('Datos cargados..');
return true;
}
});

/* Si la consulta ha fallado.. */
consulta.fail(function(){
$('#estado').html('Ha habido un error contactando el servidor.');
return false;
});

} else {
/* Mostrar error */
$('#estado').html('El nombre tener una longitud mayor a 2 caracteres...');
return false;
}
});
});

и где я делаю поиск в базе данных, это cliente.php

<?php

/* Conectar a una base de datos de MySQL invocando al controlador */
$dsn = 'mysql:dbname=dbsistema;host=localhost';
$usuario = 'root';
$contraseña = '';

try {
$gbd = new PDO($dsn, $usuario, $contraseña);
} catch (PDOException $e) {
echo 'Falló la conexión: ' . $e->getMessage();
}

if(!empty($_POST['nombre'])){

$nombre = $_POST['nombre'];

$sql = "SELECT * FROM clientes WHERE nombre = '$nombre'";
$stmt = $gbd->prepare($sql);
$stmt ->execute();
$arrDatos = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($arrDatos);
if($arrDatos){
foreach ($arrDatos as $row) {
if ($nombre = $row['nombre']) {
$return = array ('destino'=>$row['destino'],'viatico'=>$row['viatico'],'casetas'=>$row['casetas'],'extras'=>$row['extras'],'diesel'=>$row['diesel'], 'desgaste'=>$row['desgaste'],'utilidad'=>$row['utilidad'],'total'=>$row['total']);
}
}
} else {
$return = array('error'=>'El nombre no esta guardado en la base de datos');
}
die(json_encode($return));
}

надеюсь, кто-то может помочь мне найти мою ошибку

0

Решение

На мой взгляд, ваша проблема в функции $ .ajax. В качестве данных вы даете инструкцию json с переменными, которые вы не определили (или я этого не видел)

data:{nombre:valor},

С другой стороны, вы определяете dataType: json, но dataType json — это не тип данных при отправке, это определение данных, которые возвращаются обратно из этого вызова ajax. И может быть, но я не уверен, что вам следует структурировать данные (JSON.strinfiy (yourJSONObject)), потому что в отношении данных вы не можете передавать прямые объекты JSON. Даже когда вы используете $ _POST для доступа к нему. Затем данные должны быть переданы в виде &поле = значение&поле = значение&поле = значение ….

0

Другие решения

Других решений пока нет …