Uso jQuery para validar formularios mediante PHP y XML, el codigo de jQuery envia el formulario con el método POST y recive la respuesta de un XML, el xml tiene varios datos:
1) si la tarea se completó o no (Error y Successfully).
2) En caso de que exista regrese Error, entonces mediante jQuery muestro el error a un div respectivo a un input, por ejemplo si el input está vacio se muestra en un div respectivo para ese input el error "este dato es necesario".
3) Una respuesta HTML que se inserta en algun div.
En firefox funciona molto bene, en internet explorer 7 tira un error y como casi siempre es indetectable, no da referencias ni nada. Es super importante ojalá puedan darme una mano porque mañana empieza la publicidad del sitio y bueno, ustedes me entienden.
Dejo el codigo Javascript:
Código PHP:
<script>
function getQueryString(ID){
var Output = "";
$(ID+" input").each(function(index) {
Output+= ($(this).attr("id") + "=" + $(this).val() + "&");
});
$(ID+" select").each(function(index) {
Output+= ($(this).attr("id") + "=" + $(this).val() + "&");
});
return Output;
}
$("#AddMemberSubmit").click(function(){
//%Addr.iaMembers.Add.Main%
var Container = "#AddMember";
var CompleteID = "";
$.ajax({
type: "POST",
url: "archivo.php",
cache: false,
dataType: "xml",
data: getQueryString(Container),
success: function(data){
var Response = $(data).find("iaAjaxInteractiveResponse result").text().trim();
var CompleteID = "";
var SimpleID = "";
if(Response==="Error"){
$(Container + " .iaAjaxInteractive_Response").each(function(index){
CompleteID = $(this).attr("id"); //"iaAjaxInteractiveForms_Response_"
SimpleID = CompleteID.replace("iaAjaxInteractiveForms_Response_","");
$(Container + " #"+CompleteID).addClass("iaAjaxInteractive_Response_Error");
$(Container + " #"+CompleteID).html($(data).find("iaAjaxInteractiveResponse var[id='"+SimpleID+"'] value").text().trim());
});
}
else{
$(Container).html($(data).find("iaAjaxInteractiveResponse htmlresponse").text());
}
}
});
});
</script>
Código PHP:
<iaAjaxInteractiveResponse>
<result>
Error
</result>
<var id="MemberNick">
<value>Este dato es necesario para continuar. Porfavor, conteste.</value>
<type>String</type>
</var>
<var id="MemberName">
<value>Este dato es necesario para continuar. Porfavor, conteste.</value>
<type>String</type>
</var>
<var id="MemberLastName">
<value>Este dato es necesario para continuar. Porfavor, conteste.</value>
<type>String</type>
</var>
</iaAjaxInteractiveResponse>