tengo un problemilla y no se como darle solucion, veran, tengo una funcion ajax que valida los campos de un formulario (nombre, correo, fecha, descripcion, captcha) para validar los primeros lo hago del lado del cliente sin problema,
pero para validar el captcha declaro una variable
ajax = ajaxfunction() (funcion hecha previamente)
y pido un archivo php mediante el
ajax.open("GET","ruta/verifica_captcha.php")
y tomo la respuesta devuelta por medio de
ajax.onreadystatechange=function(){
que pregunta si es correcto o no
}
Hasta aqui todo bien, el problema viene si es correcto el captcha y todo lo demas ya que necesito abrir otra
ajax=function()
ajax.open("GET","ruta/insertar_bd.php")
para enviar ahora todos los valores al archivo php que los insertara a la base de datos, tambien tendra que llevar un
ajax.onreadystatechange=function(){
que pregunta si se ingreso todo correcto a la bd y muestre el mensaje de que todo salio bien
}
no me funciona el codigo que tengo y es que no creo que sea correcto meter una funcion dentro de la otra pero no se entonces como se puede resolver esto, aca dejo el esquema del codigo que tengo hasta el momento:
Código PHP:
function procesar_comentario(){
//recibo variables
var nombre= document.getElementById('nombre').value;
//las demas variables
//empiezan validaciones
if (nombre==""){
alert ("campo obligatorio");
}
else{
//las demas validaciones
if(){
}
else{ //aqui llega la validacion del captcha donde hare la peticion al php
var ajax_verify_captcha; //declaro la variable
ajax_verify_captcha= ajaxFunction(); //le asigno la funcion hecha previamente
ajax_verify_captcha.open("GET", "ruta/verificar_captcha.php?variable1="+variable1+"&variable2="+variable2, true); //aqui ya pido el archivo y le mando las variables que se van a verificar
ajax_verify_captcha.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax_verify_captcha.onreadystatechange = function() { // funcion que entre otras cosas devuelve la respuesta del php
var resp_verify_captha = ajax_verify_captcha.responseText; //asigno a una variable la respuesta del php
if (ajax_verify_captcha.readyState==4){
if(resp_verify_captha=="incorrecto"){ //pregunto si esta mal
alert("error captcha"); //mensaje de error
Recaptcha.reload(); //que se recargue el captcha
}
else{
if(resp_verify_captha=="correcto"){ //aqui viene lo que no se cmo hacer, si el captcha fue correcto
alert('1');
var ajax_insert_opinion; //declaro otra variable que
ajax_insert_opinion= ajaxFunction(); //guarda la funcion hecha previamente
alert('2'); //hasta aca corre el codigo, los siguientes alert ya no los imprime
ajax_insert_opinion.open("GET", "../insertar_bd.php?variables="+variables, true);
alert('3');
ajax_insert_opinion.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
alert('4');
ajax_insert_opinion.onreadystatechange = function() {
alert('5');
if (ajax_insert_opinion.readyState == 1){
alert('6');
document.getElementById('capa_respuesta').style.display='';
document.getElementById('capa_respuesta').innerHTML= "Procesando";
alert('7');
}
if (ajax_insert_opinion.readyState == 4){
alert('8');
document.getElementById('capa_respuesta').innerHTML= ajax_insert_opinion.responseText;
alert('9');
}
}
ajax_insert_opinion.send(null);
}
}
}
ajax_verify_captcha.send(null);
}
Gracias