Estoy creando un panel de administración para un noticiero y quiero hacer uso de AJAX para llamar al script php que ejecuta el código para añadir una nueva noticia. El problema es que cuando ejecuto la función jquery que llama a este script, el script no hace nada o directamente no sé porqué no lo llama.
- addNotice.php: script php que ejecuta el código para añadir la noticia (a medio implementar).
- scripts.js (código jQuery que contiene la función addNotice).
- frmAddNotice.php (lightbox que contiene el formulario php).
Código addNotice:
Código PHP:
<script>
alert('Estamos en addNotice');
</script>
<?php
include('../../con_bd.php');
$titulo = mysql_real_escape_string(stripslashes($_POST['titulo']));
$descripcion = mysql_real_escape_string(stripslashes($_POST['desc_noticia']));
$fecha = mysql_real_escape_string(stripslashes($_POST['fecha']));
$categoria = mysql_real_escape_string(stripslashes($_POST['categoria']));
$nombreImagen = mysql_real_escape_string(stripslashes($_POST['nombreImagen']));
if (!isset($titulo)) { echo 'Error recibiendo título.';}
if (!isset($descripcion)) { echo 'Error recibiendo descripción.';}
if (!isset($fecha)) {echo 'Error recibiendo fecha.';}
if (!isset($categoria)) {echo 'Error recibiendo categoría.';}
function confirmAddNotice(){
var r = confirm("¿Añadir noticia?");
if (r == true) {
hideFrmAddNotice();
addNotice();
}
}
function addNotice(){
var dataString = 'titulo='+$('#nombreNoticia').val()+'&categoria='+ $('#nombreCategoria').val()+
'&fecha='+$('#fecha').val()+'&desc_noticia='+$('#t extarea').val()+'&nombreImagen='+$('input[type=file]').val();
alert(dataString);
$.ajax({
type: "POST",
url:"php/addNotice.php",
data: dataString,
dataType:"json",
success: function(data){
alert(data.message);
$("#dinamic").load("php/showNotices.php");
}
});
}
Código formulario donde llamo a la función jQuery:
<input type="button" onclick="confirmAddNotice();" style="font-family:Calibri, Arial; font-weight:bold; font-size: 16px; height:35px; width: 26%; cursor: pointer;background-image:url(../img/bg_verde.png); border:2px solid #06972B;" value="Añadir noticia">
Los parámetros los obtiene bien del formulario a la función de jQuery, pero a partir del Succes no ejecuta nada. Es extraño pues tengo otra función jQuery muy semejante a esta y funciona correctamente.