尝试绑定输入继承其他输入
问题描述:
我想通过一个输入绑定其他输入,之前我做了一个例子,我在互联网上看到了解和实践,我做的例子很好,它填满了所有的数据,我问,但是当我尝试实现到我的项目这不会做任何事情,在控制台中,不要告诉我一个错误或东西,可以告诉我发生了什么 我使用PHP 7和模板联系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;
}
});
});
若i使搜索到的数据基础是这些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));
}
希望有人能helpme找到我的错误
答
你的问题是我在$ .ajax函数中的视图。随着数据你给一个JSON语句变量,你犯规定义(或我没有看到它)
data:{nombre:valor},
在另一方面,你定义数据类型:JSON,但的dataType JSON是不是在提交的数据的类型,它的数据定义,从这个ajax调用返回。也许,但我不知道atm,你应该串联数据(JSON.strinfiy(yourJSONObject)),因为在数据上,你不能传递直接的JSON对象。即使你使用$ _POST来访问它。然后数据必须以& field = value & field = value & field = value的形式传递。