2017-07-28 133 views
0

我想通过一个输入绑定其他输入,之前我做了一个例子,我在互联网上看到了解和实践,我做的例子很好,它填满了所有的数据,我问,但是当我尝试实现到我的项目这不会做任何事情,在控制台中,不要告诉我一个错误或东西,可以告诉我发生了什么 我使用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找到我的错误

回答

0

你的问题是我在$ .ajax函数中的视图。随着数据你给一个JSON语句变量,你犯规定义(或我没有看到它)

data:{nombre:valor},

在另一方面,你定义数据类型:JSON,但的dataType JSON是不是在提交的数据的类型,它的数据定义,从这个ajax调用返回。也许,但我不知道atm,你应该串联数据(JSON.strinfiy(yourJSONObject)),因为在数据上,你不能传递直接的JSON对象。即使你使用$ _POST来访问它。然后数据必须以& field = value & field = value & field = value的形式传递。