Tengo algo que estuve haciendo, me parece que asi se soluciona mi problema, pero al dar click en el boton de guardar se queda con el mensaje de "Procesando..." y no continua.
Aqui el segmento del archivo que contiene el form:
Código PHP:
case "distn":
$con = "<span id='content_menu'>Mantenimiento de Distritos</span><br />";
$con .= "<span id='menu_content'>";
$con .= " <a href=\"javascript:show_content('dist')\">Ver Lista</a>";
$con .= "</span><br /><br />";
$con .= "<div id='grid_puertos'>";
$con .= "<form action=\"javascript:process('distg')\" method='post' onSubmit='return valida_form_dist(this)'>";
$con .= "<input type='hidden' name='dist'>";
$con .= "<span id='contenido_style'>Nombre del distrito</span><br />";
$con .= "<input name='ndist' value='' id='dnombre' type='text' class='input_login' /><br />";
$con .= "<input type='image' src='img/button_guardar.jpg'><br />";
$con .= "</form>";
echo $con;
break;
Aquí la parte del archivo .js con la funcion process:
Código PHP:
function process(caso) {
//Donde se mostrarán las respuestas.
divContent = document.getElementById('contenido_pagina');
valor = document.getElementById('dnombre').value;
divContent.innerHTML = "Procesando...";
ajax = objetoAjax();
ajax.open("GET","php-includes/show_contenido.php?opt="+caso+"&dnombre="+valor,true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.onreadystatechange = function() {
if (ajax.readystate == 4) {
divContent.innerHTML = ajax.responseText;
}
}
ajax.send(null);
}
Aqui la parte del archivo que hace el proceso:
Código PHP:
case "distg":
$con = "<span id='content_menu'>Mantenimiento de Distritos</span><br />";
$con .= "<span id='menu_content'>";
$con .= " <a href=\"javascript:show_content('dist')\">Ver Lista</a> | <a href=\"javascript:show_content('distn')\">Nuevo</a>";
$con .= "</span><br /><br />";
$con .= "<div id='grid_puertos'>";
if (isset($_GET["dnombre"])) {
$dnombre = $_GET["dnombre"];
$rs = $inicl->consult("SELECT dis_nome FROM distritos WHERE dis_nome = '".$dnombre."'");
$nr = $inicl->numberRows($rs);
if ($nr > 0) {
$con .= "EL distrito que intenta agregar ya existe.";
}
else {
$con .= "Esta lista para guardar.";
$rsg = $inicl->consult("INSERT INTO distritos (dis_nome) VALUES ('".$dnombre."')");
if ($rsg) {
$con .= "El ingreso fue un éxito.";
}
}
}
echo $con;
break;
Porque se queda en e mensaje de "Procesando"?, por cierto luego cuando yo quiero ver la Grilla con los datos ingresados si aparece el dato ingresado.