Estoy desesperado, la verdad es que no tengo ni idea donde puede fallar esto. El tema es el siguiente, tengo un formulario con varios campos de texto y un dos botones radio, el formulario lo valido con el siguiente script:
http://tetlaw.id.au/view/javascript/...eld-validation
Que por cierto funciona de maravilla.
El problema lo tengo con los botones radio, si los quito del formulario y hago click en revisar, el formulario no se envia y valida correctamente los campos, en cuanto añado los radio buttons, el formulario no se valida y se envian los datos.
El formulario es el siguiente:
Código PHP:
<form action="" name="insertar" id="insertar" onsubmit="sendFields(); return false;">
<div class="input">
<label for="anunciode">Anuncio:</label>
<input type="radio" name="anunciode" id="anunciode1" value="1" checked="checked"/> Particular
<input type="radio" name="anunciode" id="anunciode2" value="2" /> Empresa
</div>
<div class="input">
<label id="nombre">Nombre:</label>
<input type="text" size="40" maxlength="150" value="" class="required" name="nombre" id="nombre" title="Por favor, inserta tu nombre." />
</div>
<div class="input">
<label for="titulo">Título:</label>
<input type="text" size="60" maxlength="50" value="" class="required" name="titulo" id="titulo" title="Por favor, inserta un título." />
</div>
<div class="div_submit_ext">
<div class="div_submit_int"><input type="submit" class="submit_button" value="Revisar »" /></div>
</div>
</form>
Código PHP:
// Funciones AJAX
function objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function sendFields(){
//donde se mostrará lo resultados
divResultado = document.getElementById('content');
// Recorremos el radio para obtener su valor
var i;
for (i=0;i<document.insertar.anunciode.length;i++){
if (document.insertar.anunciode[i].checked)
break;
}
anunciode=document.insertar.anunciode[i].value;
//valores de los inputs
nombre=document.insertar.nombre.value;
titulo=document.insertar.titulo.value;
//instanciamos el objetoAjax
ajax=objetoAjax();
//uso del medotod POST
//archivo que realizará la operacion
//insertar-anuncio-previo.php
ajax.open("POST", "/insertar.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//mostrar resultados en esta capa
divResultado.innerHTML = ajax.responseText
//llamar a funcion para limpiar los inputs
cleanFields();
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//enviando los valores
ajax.send("anunciode="+anunciode+"&nombre="+nombre+"&titulo="+titulo)
}
function cleanFields(){
document.insertar.anunciode[0].value==null;
document.insertar.anunciode[1].value==null;
document.insertar.nombre.value="";
document.insertar.titulo.value="";
document.insertar.anunciode.focus();
}
Mil gracias,