Tengo un formulario bien grande con varios campos en varios formularios que los quiero enviar todos de un solo envio, esto lo hago con un boton general por medio de ajax y jquery asi:
$(".button").click(function() {
// validate and process form
// first hide any error messages
$('.error').hide();
var nombre = $("input#nombre").val();
if (nombre == "") {
$("label#nombre_error").show();
$("input#nombre").focus();
return false;
}
var posicion = $("select#posicion").val();
if (posicion == "") {
$("label#posicion_error").show();
$("select#posicion").focus();
return false;
}
var gradosal = $("input#gradosal").val();
if (gradosal == "") {
$("label#gradosal_error").show();
$("input#gradosal").focus();
return false;
}
var area = $("select#area").val();
if (area == "") {
$("label#area_error").show();
$("select#area").focus();
return false;
}
var seccion = $("select#seccion").val();
if (seccion == "") {
$("label#seccion_error").show();
$("select#seccion").focus();
return false;
}
var country = $("select#country").val();
if (country == "") {
$("label#country_error").show();
$("select#country").focus();
return false;
}
var city = $("select#city").val();
if (city == "") {
$("label#city_error").show();
$("select#city").focus();
return false;
}
var identificacion = $("input#identificacion").val();
if (identificacion == "") {
$("label#identificacion_error").show();
$("input#identificacion").focus();
return false;
}
var fechaingreso = $("input#fechaingreso").val();
if (fechaingreso == "") {
$("label#fechaingreso_error").show();
$("input#fechaingreso").focus();
return false;
}
var empresa = $("input#empresa").val();
if (empresa == "") {
$("label#empresa_error").show();
$("input#empresa").focus();
return false;
}
var departamento = $("select#departamento").val();
if (departamento == "") {
$("label#departamento_error").show();
$("select#departamento").focus();
return false;
}
var reporta = $("input#reporta").val();
if (reporta == "") {
$("label#reporta_error").show();
$("select#reporta").focus();
return false;
}
var sexo = $("select#sexo").val();
if (seccion == "") {
$("label#sexo_error").show();
$("select#sexo").focus();
return false;
}
var imageToUpload = $("input#imageToUpload").val();
if (imageToUpload == "") {
$("label#imageToUpload_error").show();
$("select#imageToUpload").focus();
return false;
}
var objetivo1 = $("textarea#objetivo1").val();
if (objetivo1 == "") {
$("label#objetivo1_error").show();
$("textarea#objetivo1").focus();
return false;
}
var medicion1 = $("textarea#medicion1").val();
if (medicion1 == "") {
$("label#medicion1_error").show();
$("textarea#medicion1").focus();
return false;
}
var comemprev1 = $("textarea#comemprev1").val();
if (comemprev1 == "") {
$("label#comemprev1_error").show();
$("textarea#comemprev1").focus();
return false;
}
var comempeva1 = $("textarea#comempeva1").val();
if (comempeva1 == "") {
$("label#comempeva1_error").show();
$("textarea#comempeva1").focus();
return false;
}
var comsuprev1 = $("textarea#comsuprev1").val();
if (comsuprev1 == "") {
$("label#comsuprev1_error").show();
$("textarea#comsuprev1").focus();
return false;
}
var comsupeva1 = $("textarea#comsupeva1").val();
if (comsupeva1 == "") {
$("label#comsupeva1_error").show();
$("textarea#comsupeva1").focus();
return false;
}
var dataString = 'nombre='+ nombre + '&posicion=' + posicion + '&gradosal=' + gradosal + '&area=' + area + '&seccion=' + seccion + '&country=' + country + '&city=' + city + '&identificacion=' + identificacion + '&fechaingreso=' + fechaingreso + '&empresa=' + empresa + '&departamento=' + departamento + '&reporta=' + reporta + '&sexo=' + sexo + '&imageToUpload=' + imageToUpload + '&objetivo1=' + objetivo1 + '&medicion1=' + medicion1 + '&comemprev1=' + comemprev1 + '&comempeva1=' + comempeva1 + '&comsuprev1=' + comsuprev1 + '&comsupeva1=' + comsupeva1;
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "procesar.php",
data: dataString,
success: function() {
$('.container').html("<div id='message'></div>");
$('#message').html("<h2>Datos guardados!</h2>")
.append("<p>Exitoso.</p>")
.hide()
.fadeIn(1500, function() {
$('#message').append("<img id='checkmark' src='img/check.png' />");
});
}
});
return false;
});
});
lo que quiero es tambien enviar las variables de los campos dinamicos por medio de esta funcion que va creando las variables para posteriormente procesarlas por medio de php y guardarlas a la base de datos. No se si haya que hacer un while, for, if .. en realidad no tengo idea de como agregar estos campos dinamicos que son los unicos que me faltan enviar. Y ademas quisiera saber cómo al mandarlos a esta bd que se vayan añadiendo los campos correspondientes ya que no estan creados.
Espero me entiendas y me puedas ayudar en estas dos cosas.
Si quieres te envio todo el formulario que tengo.