Buenos dias, tengo un problema con el envio de datos de un formulario con javascript a PHP e insertar en una BD MySql. Explico...
Mi formulario
Código HTML:
Ver original<div id="page_add_location" data-role="page" data-title="Page Save Location"> <div class="content-padded"> <form method="post" id="submit-form"> <input type="hidden" name="location_id" id="location_id"> <input type="text" id="form-title" name="form-title" placeholder="Título"> <textarea rows="5" id="form-desc" name="form-desc" placeholder="Descripción"></textarea> <a id="form-add" class="button-positive button-block" href="#page_save_location">Añadir
</a> <span id="show-location-address" class="count">No se ha detectado la ubicación
</span>
Al pulsar <a id="form-add" class="button-positive button-block" href="#page_save_location">Añadir</a> llamando a una función de otro script apps.js
Código Javascript
:
Ver original$("#form-add").bind("click",function(){
addMyLocation();
envioForm();
});
Concretamente la función que no me funciona es envioForm(), que se encuentra en locs.js
Código Javascript
:
Ver originalvar urlRequest = "http://myserver.net/m/admin/";
var urlService = urlRequest+"index.php/";
function addMyLocation(){
var client = JSON.stringify({
Title : $("#form-title").val(),
Desc : $("#form-desc").val(),
Lon : myLong,
Lat : myLat,
Location : address,
Dates : now
});
var mititle = $("#form-title").val();
var midesc = $("#form-desc").val();
var milat = myLat;
var milng = myLong;
var miadr = address;
//var midat = calendarDate+" "+clockTime;
var calendarDate = getCalendarDate();
var clockTime = getClockTime();
var midat = calendarDate+" "+clockTime;
//var urlUbicacion = urlService+'service/insert?id=1&form-title='+mititle+'&form-desc='+midesc+'&mi-lat='+milat+'&mi-lng='+milng+'&mi-adr='+miadr+'&mi-dat='+midat;
tbSaveLocation.push(client);
localStorage.setItem("tbSaveLocation", JSON.stringify(tbSaveLocation));
alert("Se han guardado los datos. -->id=&mi-lat="+mititle+"&mi-dat="+midesc+"&lat="+milat+"&lng="+milng+"&adr="+miadr+" "+midat);
return true;
}
function envioForm(){
$("#form-add").click(function(){
var url = urlService+'ubicacion_list/insert'; // El script a dónde se realizará la petición.
$.ajax({
type: "POST",
url: url,
data: $("#submit-form").serialize() // Adjuntar los campos del formulario enviado.
});
return false; // Evitar ejecutar el submit del formulario.
});
}
El archivo ubicacion_list.php es este
Código PHP:
Ver original<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Ubicacion_list extends CI_Controller
{
public function index()
{
$this->load->view('locations');
}
public function insert()
{
$data_id = $this->input->post('location_id');
$data['location_title'] = $this->input->post('form-title');
$data['location_desc'] = $this->input->post('form-desc');
$data['location_lat'] = $this->input->post('mi-lat');
$data['location_lng'] = $this->input->post('mi-lng');
$data['location_address'] = $this->input->post('mi-adr');
$data['location_date'] = $this->input->post('mi-dat');
$this->load->model('ubicacion_list_model');
$result = $this->ubicacion_list_model->insert($data,$data_id);
/*if(!$data_id)
if($result)
if($result)
echo "Datos insertados correctamente!";
else
echo "No se ha podido insertar los datos!";
else
if($result)
echo "Datos actualizados correctamente!";
else
echo "Datos actualizados correctamente!";*/
}
public function remove()
{
$data_id = $this->input->post('remove_ubicacion_list_id');
$this->load->model('ubicacion_list_model');
$result = $this->ubicacion_list_model->remove($data_id);
if($result)
echo "Datos actualizados correctamente!";
else
echo "Datos actualizados correctamente!";
}
}
Y el archivo ubicacion_list_model.php
Código PHP:
Ver original<?php if ( ! defined('BASEPATH')) exit('No esta permitido acceder directamente al script');
class Ubicacion_list_model extends CI_Model
{
function __construct()
{
parent::__construct();
}
/*
Action insert or update
*/
function insert($data,$data_id)
{
if ($data_id == '')
{
$result = $this->db->insert('locations',$data);
return $result;
}else{
$this->db->where('location_id', $data_id);
$result = $this->db->update('locations',$data);
return $result;
}
}
/*
Remove
*/
function remove($data_id)
{
return $this->db->delete('locations', array('location_id' => $data_id));
}
}
Me estoy rompiendo la cabeza pero no hay manera de que funcione.
¿Podeis ayudarme?