I'm trying to make a Wordpress page where the user can point to a location by writing the adress or browsing a map`.
As you can see in the page (http://www.levinor.es/pruebas/pagina-ejemplo/) the map isn't loading and I don't know why... I checked the API Key, and the allowed domains (.levinor.es/) of the key... Please I need some help...
To do so I created this javascript (google-maps.js) and placed it in the script folder of my theme:
//Declaramos las variables que vamos a user
var lat = null;
var lng = null;
var map = null;
var geocoder = null;
var marker = null;
jQuery(document).ready(function(){
//obtenemos los valores en caso de tenerlos en un formulario ya guardado en la base de datos
lat = jQuery('#lat').val();
lng = jQuery('#long').val();
//Asignamos al evento click del boton la funcion codeAddress
jQuery('#pasar').click(function(){
codeAddress();
return false;
});
//Inicializamos la función de google maps una vez el DOM este cargado
initialize();
});
function initialize() {
geocoder = new google.maps.Geocoder();
//Si hay valores creamos un objeto Latlng
if(lat !='' && lng != '')
{
var latLng = new google.maps.LatLng(lat,lng);
}
else
{
//Si no creamos el objeto con una latitud cualquiera como la de Mar del Plata, Argentina por ej
var latLng = new google.maps.LatLng(37.0625,-95.677068);
}
//Definimos algunas opciones del mapa a crear
var myOptions = {
center: latLng,//centro del mapa
zoom: 15,//zoom del mapa
mapTypeId: google.maps.MapTypeId.ROADMAP //tipo de mapa, carretera, híbrido,etc
};
//creamos el mapa con las opciones anteriores y le pasamos el elemento div
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
//creamos el marcador en el mapa
marker = new google.maps.Marker({
map: map,//el mapa creado en el paso anterior
position: latLng,//objeto con latitud y longitud
draggable: true //que el marcador se pueda arrastrar
});
//función que actualiza los input del formulario con las nuevas latitudes
//Estos campos suelen ser hidden
updatePosition(latLng);
}
//funcion que traduce la direccion en coordenadas
function codeAddress() {
//obtengo la direccion del formulario
var address = document.getElementById("direccion").value;
//hago la llamada al geodecoder
geocoder.geocode( { 'address': address}, function(results, status) {
//si el estado de la llamado es OK
if (status == google.maps.GeocoderStatus.OK) {
//centro el mapa en las coordenadas obtenidas
map.setCenter(results[0].geometry.location);
//coloco el marcador en dichas coordenadas
marker.setPosition(results[0].geometry.location);
//actualizo el formulario
updatePosition(results[0].geometry.location);
//Añado un listener para cuando el markador se termine de arrastrar
//actualize el formulario con las nuevas coordenadas
google.maps.event.addListener(marker, 'dragend', function(){
updatePosition(marker.getPosition());
});
} else {
//si no es OK devuelvo error
alert("No podemos encontrar la dirección, error: " + status);
}
});
}
//funcion que simplemente actualiza los campos del formulario
function updatePosition(latLng)
{
jQuery('#lat').val(latLng.lat());
jQuery('#long').val(latLng.lng());
}
I placed the next code into the funcionts.php file for referencing the js (I doubled checked the page ID and my API Key):
add_action('template_redirect','carga_archivos');
function carga_archivos(){
if( is_single(2)) // tu número de post o slug
{
wp_enqueue_script( 'google-api','http://maps.googleapis.com/maps/api/js?key={MY API KEY}&sensor=true', array( 'jquery' ) );
wp_enqueue_script( 'google-maps', get_bloginfo('stylesheet_directory') . '/js/google-maps.js', array( 'google-api' ) );
}
}
And added to my header.php:
<script type="text/javascript" src="//maps.googleapis.com/maps/api/js?key={MY API KEY}&sensor=true"></script>
The code of the page is:
<form id="google" action="#" name="google"><label>Número de Revista</label>
<input id="numerorevista" type="int" name="numerorevista;" value="0" />
<label>Dirección donde será liberada</label>
<input id="direccion" type="text" name="direccion" />
<button id="pasar">Pasar al mapa</button>
<!-- div donde se dibuja el mapa-->
<div id="map_canvas" style="width: 450px; height: 300px;"></div>
<!--campos ocultos donde guardamos los datos-->
<input id="lat" type="text" name="lat" />
<input id="long" type="text" name="lng" />
</form>
I will be very gratefull if someone can help me. Thanks!
Google has disabled the use pt the Maps API for this application. The key you used is not valid or is not authorized for Google maps JavaScript API.
If you obtained this key you still need to enable the use of the JavaScript API
Go to this link for more info:
https://developers.google.com/maps/documentation/javascript/tutorial
Related
as I recently updated several htaccess in my wordpress site, I observed that the php/ajax code is no more working. I do not understand why
here is my button
$generer_liste_all_plongeurs ='<table><tr>
<td><form>
<button type="submit" id="btn-submit_all">Générer une liste de TOUS les plongeurs</button>
<input type="hidden" id="eventid_all" value="NO_ID" />
<input type="hidden" id="eventdate_all" value="NO_DATE" />
</form></td>
<td><div id="response">
<!-- Nous allons afficher un retour en jQuery au visiteur -->';
/* si le fichier existe, on va l'afficher */
//https://asmtplongee.org/wp-content/FdP/Tous_les_plongeurs.csv
$fichier="Tous_les_plongeurs.csv";
if (file_exists($dir . "/" . $fichier)) {
$generer_liste_all_plongeurs .= '' . 'Liste de plongeurs générée le ' . date ("F d Y H:i:s", filemtime($dir . "/" . $fichier)) . "";
}
$generer_liste_all_plongeurs.= '
</div></td></tr></table>';
and the code to treat this
//script pour ajax
$o .='<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>$(document).ready(function(){
$("#btn-submit_all").click(function(e){
e.preventDefault();
$.post(
"' . get_site_url() . '/wp-content/plugins/alex/creation_csv_palanq.php",
{
eventid : "NO_ID",
eventdate : "NO_DATE",
},
function(data){
$("#response").html("<p>" + data + "</p>");
},
"text"
);
});
});
</script>';
//fin du chapitre ajax
I want the page creation_csv_palanq.php to be called with the below args and their values
eventid : "NO_ID",
eventdate : "NO_DATE",
the content of the htaccess located in wp-content is:
# Alternative to prevent directory listing
IndexIgnore *
# Hide the information from server
ServerSignature Off
# Bloque les accès directs aux fichiers PHP (Merci à Sucuri)
<FilesMatch "\.(?i:php)$">
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
</IfModule>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
</FilesMatch>
Good day, I hope you support me with this query, ** how can I insert the value of a select-option (combobox) php in multiple columns in a table in mysql depending on the selected data? **
For example I have a submit form linked to a nested combobox, the last select-option contains 3 values: peras(pears), manzanas(apples), naranjas(oranges).I would like that if i select value "pears" this value is inserted into column id_peras, and if i select oranges this value is inserted in column id_naranjas.
this is my code until now:
this is my mysql database table named "frutas"
id |id_ciudad |id_colonia |id_participante |id_fruta
i would like that it table looks like this one:
id |id_ciudad |id_colonia |id_participante |id_peras |id_manzanas |id_naranjas
index.php
<div class="container">
<h1>
Seleccionar Participante
</h1>
<form id="frm-Participante" action="procesar.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="id_jugador" />
<?php
//Include database configuration file
//Get all country data
$query = $db->query("SELECT * FROM ciudades ORDER BY nombre_ciudad ASC");
//Count total number of rows
$rowCount = $query->num_rows;
?>
<div class="form-group">
<label>Ciudad</label>
<select name="id_ciudad" id="Ciudad" class="form-control" >
<option value="">Seleccione la Ciudad</option>
<?php
if($rowCount > 0){
while($row = $query->fetch_assoc()){
echo '<option value="'.$row['id_ciudad'].'">'.$row['nombre_ciudad'].'</option>';
}
}else{
echo '<option value="">no hay ciudades</option>';
}
?>
</select>
</div>
<div class="form-group">
<label>Colonia</label>
<select name="id_colonia" id="Colonia" class="form-control" disabled="disabled">
<option value="">Seleccione la Colonia</option>
</select>
</div>
<div class="form-group">
<label>Participante</label>
<select name="id_participante" id="Participante" class="form-control" disabled="disabled">
<option value="">Seleccione el Participante</option>
</select>
</div>
<div class="form-group">
<label>Eleccion del Participante</label>
<select name="id_fruta" id="Fruta" class="form-control" disabled="disabled">
<option value="1">Peras</option>
<option value="2">Manzanas</option>
<option value="3">Naranjas</option>
</select>
</div>
<div class="upload-result text-center">
<button class="btn btn-success">Guardar</button>
</div>
</form>
</div>
</body>
<script>
$(document).ready(function(){
$("#frm-Participante").submit(function(){
return $(this).validate();
});
});
</script>
<script>
$('#Ciudad').change(function(){
$('#Colonia').removeAttr('disabled');
});
$('#Colonia').change(function(){
$('#Participante').removeAttr('disabled');
});
$('#Participante').change(function(){
$('#Fruta').removeAttr('disabled');
});
$(document).ready(function(){
$("#frm-Participante").submit(function(){
return $(this).validate();
});
});
</script>
<script type="text/javascript">
$(document).ready(function(){
$('#Ciudad').on('change',function(){
var CiudadID = $(this).val();
if(CiudadID){
$.ajax({
type:'POST',
url:'ajaxData.php',
data:'id_categoria='+CiudadID,
success:function(html){
$('#Colonia').html(html);
$('#Participante').html('<option value="">Seleccione el Colonia primero</option>')
$('#Participante').attr('disabled','disabled');
$('#Fruta').attr('disabled','disabled');
}
});
}else{
$('#Colonia').html('<option value="">Seleccione Ciudad primero</option>');
$('#Participante').html('<option value="">Seleccione Colonia primero</option>');
$('#Colonia').attr('disabled','disabled');
$('#Participante').attr('disabled','disabled');
$('#Fruta').attr('disabled','disabled');
}
});
$('#Colonia').on('change',function(){
var ColoniaID = $(this).val();
if(ColoniaID){
$.ajax({
type:'POST',
url:'ajaxData.php',
data:'id_colonia='+ColoniaID,
success:function(html){
$('#Participante').html(html);
}
});
}else{
$('#Colonia').html('<option value="">Seleccione Colonia primero</option>');
$('#Participante').attr('disabled','disabled');
$('#Fruta').attr('disabled','disabled');
}
});
});
</script>
procesar.php
<?php
require_once'conexion.php';
include'funciones.php';
bd_agregar($_REQUEST);
//Cerramos conexión.
$cone->close();
?>
</body>
</html>
funciones.php
<?php
require_once'conexion.php';
//Creamos función
function bd_agregar($temp){
//Especificamos variable global.
global $cone;
//Obtenemos datos formulario
$id_ciudad = $_REQUEST['id_ciudad'];
$id_colonia = $_REQUEST['id_colonia'];
$id_participante = $_REQUEST['id_participante'];
$id_fruta = $_REQUEST['id_fruta'];
//Insertamos datos
$cone->query("INSERT INTO frutas (id_ciudad,id_colonia,id_participante,id_fruta) VALUES ('$id_ciudad','$id_colonia','$id_participante','$id_fruta')");
echo $id_ciudad.$id_colonia.$id_jugador.$id_fruta;
}
//Comprobamos ejecución sentencia.
if ($cone===false) {
printf("Mensaje de error: %s\n", $cone->error);
} else {
echo "Los datos se insertaron correctamente";
}
?>
sql
CREATE TABLE IF NOT EXISTS `frutas` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`id_ciudad` varchar(50) NOT NULL,
`id_colonia` varchar(50) NOT NULL,
`id_participante` varchar(50) NOT NULL,
`id_peras` varchar(30) NOT NULL,
`id_manzanas` varchar(30) NOT NULL,
`id_naranjas` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
COMMIT;
i tried with switch case but i haven´t success the data is not inserted into database
function bd_agregar($temp){
//Especificamos variable global.
global $cone;
//Obtenemos datos formulario
$id_ciudad = $_REQUEST['id_ciudad'];
$id_colonia = $_REQUEST['id_colonia'];
$id_participante = $_REQUEST['id_participante'];
$id_fruta = $_REQUEST['id_fruta'];
switch($id_fruta) {
case '1':
// Creas una variable que guarde la consulta con el nombre de columna id_peras
$sql = "INSERT INTO frutas (id_ciudad,id_colonia,id_participante,id_gol) VALUES ('$id_ciudad','$id_colonia','$id_participante','$id_fruta')";
break;
case '2':
// Creas una variable que guarde la consulta con el nombre de columna id_manzanas
$sql = "INSERT INTO frutas (id_ciudad,id_colonia,id_participante,id_amarilla) VALUES ('$id_ciudad','$id_colonia','$id_participante','$id_fruta')";
break;
case '3':
// Creas una variable que guarde la consulta con el nombre de columna id_naranjas
$sql = "INSERT INTO frutas (id_ciudad,id_colonia,id_participante,id_roja) VALUES ('$id_ciudad','$id_colonia','$id_participante','$id_fruta')";
break;
default:
echo "Valor erróneo"; die;
}
//Insertamos datos
// Pasamos la varriable $sql
$cone->query($sql);
echo $id_ciudad.$id_colonia.$id_participante.$id_fruta;
}
thank you in advance
first of all i would suggest you, that you change your database design. Instead of using 3 different columns for each case of your selectbox you could use an enum('1','2','3').
Then you can simply insert the value of the selected box into that column.
And later on for the frontend you just output for each value a different string. You can also add strings into your enum instead of numbers.
I'm making a user registration form in PHP - MYSQL, AJAX jQuery and Codeigniter and loading the web page of records, Google chrome console launches a series of unlimited answers every second, the image here.
Note: There are also some slightly unusual behavior in Google Chrome I want to know the reason to solve them.
Selection in yellow: the answers are automatically generated limitless.
Selection in purple: Are the result or answer to that selected answer.
Selection Green: Other errors that I would like to know to be.
Code HTML:
<div class="ctn">
<h3>Upload file content ajax</h3>
<form action="" method="POST" id="form_file" name="form_file" enctype="multipart/form-data">
<div class="form-group">
<input type="file" name="imagex" id="imagex">
</div>
<button type="submit" id="btn_form" class="btn btn-primary">Subir imagen</button>
<div id="mensaje_status"></div>
</form>
</div><!--End ctn-->
Code AJAX:
$(function() {
//Empty content alert message
$('.alert .close').on('click', function(event) {
event.preventDefault();
$('.alert .msg').html('');
});
$('#form_file')
.formValidation({
framework: 'bootstrap',
icon: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
imagex: {
validators: {
notEmpty: {
message: 'Obligatorio!'
},
file: {
extension: 'jpg,jpeg,png',
type: 'image/jpg,image/jpeg,image/png',
//maxSize: 9097152, // 2048 * 1024
message: 'imagen no válida ( JPG, JPEG, PNG ) | Max 9MB'
}
}
}
}
})
.on('success.form.fv', function (e) {
// Prevent form submission
e.preventDefault();
var $form = $(e.target),
fv = $form.data('formValidation'),
formData = new FormData(),
params = $form.serializeArray(),
files = $form.find('[name="imagex"]')[0].files;
$.each(params, function (i, val) {
formData.append(val.name, val.value);
});
formData.append('imagex', files[0]);
formData.append('id', Math.random());
$.ajax({
//Star preloader
xhr: function () {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function (evt) {
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
//Convertimos el porcentaje en valor entero
var porcentageRound = percentComplete * 100;
//Mostramos la ventana modal
$('#modal_progress').modal('show');
//Limpiamos el área de mensaje en caso de que tenga información
$('#form_file #mensaje_status').html('');
//Width bar progress
$('.progress-bar').css({
width: percentComplete * 100 + '%'
});
$(".progress-bar").html('<div id="progress-status">' + Math.round(porcentageRound) +' %</div>');
//Ocultamos el loader
if (percentComplete === 1) {
//Podemos manipular los elementos del DOM
//Ocultamos la barra de progreso
$('.progress').addClass('oculto');
//Reseteamos la barra de progreso
$('.progress-bar').css('width', '0%');
//Mostramos un mensaje mientra recibimos respuesta del servidor
$('#modal_progress .mensaje').html('<i class="fa fa-cog fa-spin font20"></i> Procesando espere por favor!');
}
}
}, false);
return xhr;
},
url: '/upload_ajax_full/do_upload/',
data: formData,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function (data) {
var data = $.parseJSON(data);
if (data.respuesta == true) {
//Limpiamos el área de mensaje en caso de que tenga información
$('#form_file #mensaje_status').html('');
//Cerramos la ventana modal
$('#modal_progress').modal('hide');
//Habilitamos la barra de progreso
$('.progress').removeClass('oculto');
//Limpiamos mensaje
$('#modal_progress .mensaje').html("");
//Limpiamos el campo de imagen
$('#imagex').replaceWith($('#imagex').clone( true ));
//Mostramos mensaje del servidor
$('#form_file #mensaje_status').append(data.mensaje);
}
if (data.respuesta == false) {
//Limpiamos el área de mensaje en caso de que tenga información
$('#form_file #mensaje_status').html('');
//Cerramos la ventana modal
$('#modal_progress').modal('hide');
//Habilitamos la barra de progreso
$('.progress').removeClass('oculto');
//Limpiamos mensaje
$('#modal_progress .mensaje').html("");
//Limpiamos el campo de imagen
$('#imagex').replaceWith($('#imagex').clone( true ));
//Mostramos mensaje del servidor
$('#form_file #mensaje_status').append(data.mensaje);
}
// You can reset the form if you want
fv.resetForm(true);
// You can enable the submit button
// to allow the user to add new record
fv.disableSubmitButtons(true);
}
});
});
});
I have a HTML form with 6 textboxes that the user needs to fill and before register those values I'd like that the user Preview-them in the same webpage.
It's like a preview of the values inserted above.
The thing is I don't know how to pass those values to another variable (or the same one) and preview them.
HOpe somebody can help me.
Here's my code so far.
<script type="text/javascript">
function validarForm(formulario) {
if(formulario.filmid.value.length==0) { //comprueba que no esté vacío
formulario.filmid.focus();
alert('No has escrito la clave');
return false; //devolvemos el foco
}
if(formulario.nombre.value.length==0) { //comprueba que no esté vacío
formulario.nombre.focus();
alert('No has escrito el nombre');
return false;
}
if(formulario.sinopsis.value.length==0) { //comprueba que no esté vacío
formulario.sinopsis.focus();
alert('No has escrito ninguna consulta');
return false;
}
if(formulario.genero.value.length==0) { //comprueba que no esté vacío
formulario.genero.focus();
alert('No has escrito el genero');
return false; //devolvemos el foco
}
if(formulario.anio.value.length==0) { //comprueba que no esté vacío
formulario.anio.focus();
alert('No has escrito el año');
return false;
}
if(formulario.precio.value.length==0) { //comprueba que no esté vacío
formulario.precio.focus();
alert('No has escrito ninguna consulta');
return false;
}
return true;
}
</script>
<html>
<body>
<?php include 'header.php' ?>
<?php
//variables generales
if(isset($_POST['filmid']) && isset($_POST['nombre']) && isset($_POST['sinopsis']) && isset($_POST['genero']) && isset($_POST['anio']) && isset($_POST['precio'])){
$insertid=$_POST["filmid"];
$insertnombre=$_POST["nombre"];
$insertsinopsis=$_POST["sinopsis"];
$insertgenero=$_POST["genero"];
$insertanio=$_POST["anio"];
$insertprecio=$_POST["precio"];
$insercion=$insertid."|".$insertnombre."|".$insertsinopsis."|".$insertgenero."|".$insertanio."|".$insertprecio."|A\n";
InsertaPelicula($insercion);
}
?>
Registrar nueva pelicula:
<form action="registro.php" method="post" onsubmit="return validarForm(this);">
<table border="1"><tr><td>Clave:</td><td><input type="text" name="filmid"></td></tr>
<tr><td>Nombre:</td><td><input type="text" name="nombre"></td></tr>
<tr><td>Sinopsis:</td><td><input type="text" name="sinopsis"></td></tr>
<tr><td>Genero:</td><td><input type="text" name="genero"></td></tr>
<tr><td>Ańo</td><td><input type="text" name="anio"></td></tr>
<tr><td>Precio</td><td><input type="text" name="precio"></td></tr>
<tr><td><input type="submit" value="Registrar"></td><td></td></tr>
</table>
</form>
<form>
<input type="button" name="Cancel" value="Cancelar" onclick="window.location='index.php'">
</form>
<?php include 'footer.php' ?>
</body>
</html>
Grep the value using e.g. onchange event and set it as content where you like it using e.g. innerHTML. Would be easier with jQuery or another js Framework.
Raw Javascript example:
//HTML:
<input type="text" name="nombre" onchange="passValue(this, 'preview_nombre')"/>
<span id="preview_nombre">before</span>
//Javascript:
function passValue(e, target){
document.getElementById(target).innerHTML = e.value;
}
http://jsfiddle.net/ya5Ty/
I am trying to rename a file from a modal window. The modal window runs fine and so does the php code for renaming the file. I have tried many different ways to send the data whithout exiting.
The form gets the value of a link image: name, directory and diferent actions: delete, update and resize. So when I click the link it opens the modal window with these values (I have also noticed that the value is the same when I click other image links each time)
The problem is that is not sending any value. I supose that there is a problem getting values: for example val() is a jQuery method. .value is the DOM Element's property, I would like to know how can I solve this.
the html code:
<div id="dialogo" title="Editar Imagen">
<p class="validateTips">Campo titulo requerido.</p>
<!--action="" method="post"-->
<form id="update" >
<fieldset>
<label for="titulo">Titulo</label>
<input type="text" name="titulo" id="titulo" class="text ui-widget-content ui-corner-all" />
<label for="Alt">Alt</label>
<input type="text" name="Alt" id="Alt" class="text ui-widget-content ui-corner-all" />
<label for="descripcion">Descripcion</label>
<input type="text" name="descripcion" id="descripcion" class="text ui-widget-content ui-corner-all" />
</fieldset>
</form>
</div>
the ajax/jquery code:
<script type="text/javascript">
$(document).ready(function(){
var fname=$('a.ico-resize').attr("id");
var directory=$('a.ico-resize').attr("rel");
var deletecount=$('a.ico-resize').attr("value");
$('#titulo').val(fname);
$('#Alt').val(directory);
var descripcion = $("input#descripcion").val();
var dataString = 'descripcion='+ descripcion + '&titulo=' + titulo + '&Alt=' + Alt;
// var data_string = $("#update").serialize();
// Damos formato a la Ventana de Diálogo
var dialog = $("#dialogo").dialog({
// Indica si la ventana se abre de forma automática
autoOpen: false,
// Indica si la ventana es modal
modal: true,
// Largo
//width: 400,
// Alto
//height: 280,
// Creamos los botones
height: 300,
width: 350,
buttons: {
'Rename Image': function() {
// Mostrar Versión de PHP
$.ajax({
// Antes de realizar la llamada mostramos el ajax load
beforeSend: function(){
$('#respuestaAjax').html('<img id="loader" src="images/loading.gif"/>');
},
//cache: false, // Indicamos que no se guarde en cache
type: 'post', // Variables GET
url:'rename_img.php', // srcript a ejecutar
data: dataString,
//'titulo=titulo&descripcion=descripcion&Alt=Alt',
//$("form#update").serialize(),
//{"file":fname,"directory":directory, "descripcion":descripcion}, // paso de datos
// cuando es exitoso el llamado
success: function(response){
$('#respuestaAjax').html(response);
$('#' + deletecount).remove();
dialog.dialog( "close" );
}
});
},
Cerrar: function() {
// Cerrar ventana de diálogo
dialog.dialog( "close" );
}
}
});
$("a.ico-resize").click( function(e) {
e.preventDefault();
// dialog.dialog("open");
dialog.dialog('open');
// prevent the default action, e.g., following a link
return false;
});
});
</script>
php code:
<?php
$dir = $_POST['Alt'];
$file = $_POST['titulo'];
$nuevo= $_POST['descripcion'];
$img = $dir."/".$file;
$imagen = $dir."/".$nuevo;
//unlink ($img);
rename($img, $imagen);
echo $imagen;
?>
solved
finally all works with this code:
<script type="text/javascript">
$(function(){
var fname=$('a.ico-resize').attr("id");
var directory=$('a.ico-resize').attr("rel");
var deletecount=$('a.ico-resize').attr("value");
$('#titulo').val(fname);
$('#Alt').val(directory);
var descripcion = $('#descripcion').val();
var data_string = $("#update").serialize();
var dialog = $("#dialogo").dialog({
autoOpen: false,
modal: true,
height: 300,
width: 350,
buttons: {
Send: function(){
str = $("#update").serialize();
$.ajax({
beforeSend: function(){
$('#respuestaAjax').html('<img id="loader" src="images/loading.gif"/>');
},
cache: false,
type: 'POST',
url:'rename_img.php',
data: str,
contentType: "application/x-www-form-urlencoded",
success: function(response){
$('#respuestaAjax').html(response);
$('#' + deletecount).remove();
dialog.dialog( "close" );
}
});
},
Cerrar: function() {
dialog.dialog( "close" );
}
}
});
$("a.ico-resize").click( function(e) {
var id = $(this).attr('data-id');
var rel = $(this).attr('data-rel');
var value = $(this).attr('data-value');
$("#update").find("#titulo").val(id);
$("#update").find("#Alt").val(rel);
dialog.dialog('open');
});
});
</script>
The code looks fine as far as sending itself is considered. I mean it probably does send the request it's just the query that is wrong. (You can check in the firebug's console if the request is really send or not).
What you need to change is the place where you build the dataString. You build it once the page is loaded (in the $(document).ready function) so it's never rebuild after you change the values in your modal window.
You should move the code responsible for building dataString to the click handler of a.ico-resize.
Also I can't see where the titulo and Alt variables are set and, as you can see in your Firebug, they're set wrong.
Try this:
var dataString = 'descripcion='+ $('#descripcion').val() + '&titulo=' + $('#titulo').val() + '&Alt=' + $('#Alt').val();
The dataString value should be a JavaScript object like this
{Key:value, key : value .....}