2015-11-19 2 views
0

Привет, прежде всего, спасибо за помощь друзьям.Как вставить текст данных Mysql в Object [object HTMLCollection]

Мне хотелось бы узнать, могут ли они помочь мне с этой проблемой, я вставляю маршруты широты и долготы Google Maps incluyendole ввода текста capo с именем «pathname» в моей базе данных, все очень хорошо, чтобы вставить широту и долгота, но когда вы вставляете «pathname», я возвращаюсь в листинг поля pathname inserccionen «[object HTMLCollection]» Что я хочу - это вставить текст или значение этого ввода.

Ниже мой код, чтобы увидеть, если они могут дать мне руку вы будете благодарил

Php Код Index.php:

<?php 
     $lat = "18.472848374914534"; 
     $lng = "-69.92593261718753"; 
     $pos = $_POST ["pos"]; 
     $nombre_ruta = $_POST ["nombre_ruta"]; 
     echo " 
     <div id='info' name='info' class='info'>".$pos."</div> 
     <div id='seleccion_mapa'></div> 
     <input type='text' name='nombre_ruta' id='nombre_ruta' placeholder='ponga aqui, el nombre de la ruta' class='Txt_SELECCIONAR' /> 
     <input type='submit' id='enviar' name='enviar' value='CREAR RUTA' class='Txt_btn_submit2' value='CREAR RUTA'> 
     <br> 
     <div id='respuesta'></div>"; 
     ?> 

Script Ajax расслоение плотной

<script> 
    $(document).ready(function(){ 
     lat = "<?php echo $lat; ?>" ; 
     lng = "<?php echo $lng; ?>" ; 
     var map; 
     function initialize() { 
     var myLatlng = new google.maps.LatLng(lat,lng); 
     var mapOptions = { 
      zoom: 7, 
      center: myLatlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 
     map = new google.maps.Map(document.getElementById("seleccion_mapa"), mapOptions); 
     var marker = new google.maps.Marker({ 
      position: myLatlng, 
      draggable:true, 
      animation: google.maps.Animation.DROP, 
      web:"Localización geográfica!", 
      icon: "../../../../assets/img/marker.png" 
     }); 
     google.maps.event.addListener(marker, 'dragend', function(event) { 
      var myLatLng = event.latLng; 
      lat = myLatLng.lat(); 
      lng = myLatLng.lng(); 
      nombre_ruta = myLatLng.nombre_ruta(); 
      document.getElementByTagId('info').innerHTML = [ 
      lat, 
      lng, 
      nombre_ruta 
      ].join(', '); 
     }); 
     marker.setMap(map); 
     } 

     google.maps.event.addDomListener(window, 'load', initialize); 
     $("#enviar").click(function() { 
     var url = "../../../controllers/cargar_mapa.php"; 
     $("#respuesta").html('<img src="../../../../assets/img/loading17.gif" />'); 
     $.ajax({ 
     type: "POST", 
     url: url, 
     data: 'lat=' + lat + '&lng=' + lng + '&nombre_ruta=' + nombre_ruta , 
     success: function(data) 
     { 
      $("#respuesta").html(data); 
     } 
     }); 
     }); 
    }); 
</script> 

и код вставки базы данных

<?php 
error_reporting(E_ERROR | E_WARNING | E_PARSE); 
include('../../Connections/conexion_mapa_ruta.php'); 
    $lat=strip_tags(mysqli_real_escape_string($con,$_POST['lat'])); 
    $lng=strip_tags(mysqli_real_escape_string($con,$_POST['lng'])); 
    $nombre_ruta=$_POST['nombre_ruta']; 
    $pos=$lat.",".$lng; 
    mysqli_query($con,"INSERT INTO ruta_transporte (Lat, Lng, Pos, nombre_ruta) values ('$lat','$lng','$pos','$nombre_ruta')"); 
    echo "<b> Posición guardada: </b>".$nombre_ruta.",".$lat.", ".$lng; 
?> 

ответ

0

При построении данных POST на стороне клиента:

data: 'lat=' + lat + '&lng=' + lng + '&nombre_ruta=' + nombre_ruta 

nombre_ruta является объектом. Возможно, от того, когда он установлен здесь ?:

nombre_ruta = myLatLng.nombre_ruta(); 

Я действительно не уверен, что этот метод возвращается, вам может понадобиться для отладки в вашем браузере, чтобы узнать. Но дело в том, что, что бы ни находилось в этой переменной, это объект. А так как вы пытаетесь построить строку из него, строковое представление объекта является именно то, что вы видите:

[объект HTMLCollection]

Поскольку вы создаете строку ключа/value, и так как ваш серверный код ожидает обработки строки (путем вставки ее в текстовый столбец в базе данных), вы захотите убедиться, что ваша переменная установлена ​​на простое строковое значение перед отправкой POSTing стоимость.

Какая должна быть эта строковая величина, это зависит от вас. Может быть, какая-то собственность на объект, который у вас есть? (Не уверен, насколько это возможно, я все еще не совсем понимаю, почему API Карт Google будет иметь метод nombre_ruta() для свойства события, или почему этот метод вернет объект HTMLCollection. Возможно, вы сделайте еще несколько отладок, может быть больше, чем то, что представлено в вопросе.)

+0

Привет, Дэвид, для вашего разъяснения, в настоящее время я пытаюсь сделать то же самое, что и в моей базе данных, значения в тексте отправляется по почте, например nombre_ruta(); Это текстовое поле o вставить имя в другие столбцы, сопровождаемые широтой и долготой –

Смежные вопросы