Buenas... estaba viendo de hacer una validacion en ajax, el tema es que funciona en IE, mas no en Firefox, alguien me puede decir si nota algo mal?
Código Javascript
:
Código:
function validar()
{
var nombremarca = document.getElementById('nombre').value;
var selectOrigen=document.getElementById('subcategorias');
// Obtengo la opcion que el usuario selecciono
var opcionSeleccionada=selectOrigen.options[selectOrigen.selectedIndex].value;
// Si el usuario eligio la opcion "Elige", no voy al servidor y pongo los selects siguientes en estado "Selecciona opcion..."
if(opcionSeleccionada != 0 && nombremarca.length != 0)
{
var ajax=nuevoAjax();
ajax.open("GET", "ajax.php?id=2&nombre="+nombremarca+"&opcion="+opcionSeleccionada, true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==1)
{
// Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
selectOrigen.length=0;
var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
selectOrigen.appendChild(nuevaOpcion); selectOrigen.disabled=true;
}
if (ajax.readyState==4)
{
error.innerHTML=ajax.responseText;
}
}
ajax.send(null);
}
else
{
error.innerHTML = "Todos los campos obligatorios!";
}
}
Codigo del form
Código HTML:
<table><form method="POST" onsubmit="return validar()"> <!-- De aca es donde sospecho !-->
<tr>
<td>Categoria:</td>
<td><?php GenerarCategorias(); ?></td>
</tr>
<tr>
<td>Subcategoria:</td>
<td>
<div id="DemoSC">
<select id="subcategorias" name="subcategorias" disabled>
<option>Selecciona opción...</option>
</select>
</div>
</td>
</tr>
<tr>
<td>Nombre:</td>
<td><input type="text" name="nombre" class="text" /></td>
</tr>
<tr height="20px"></tr>
<tr>
<td colspan="2"><center><input type="submit" value="Crear" class="text" /></center></td>
</tr>
</form></table>
Código PHP (Dudo que el error este por aca)
Código PHP:
$consulta = mysql_query("SELECT * FROM subcategorias WHERE id=$_GET[opcion]") or exit("Hubo un error con lo que ingresó. <br /> Revise el apartado Recomendaciones para mayor información. <br/><br/> <center><a href='javascript: history.back()' class='link'>Volver Atras</a></center>");
while($result = mysql_fetch_array($consulta))
{
$id2 = $result[marcas] +1;
}
mysql_query("UPDATE subcategorias SET marcas = $id2 WHERE id = $_GET[opcion]") or exit("Hubo un error con lo que ingresó. <br /> Revise el apartado Recomendaciones para mayor información. <br/><br/> <center><a href='javascript: history.back()' class='link'>Volver Atras</a></center>");
mysql_query("INSERT INTO marcas (nombre, relacion, id2) VALUES ('$_GET[nombre]',$_GET[opcion],$id2)") or exit("Hubo un error con lo que ingresó. <br /> Revise el apartado Recomendaciones para mayor información. <br/><br/> <center><a href='javascript: history.back()' class='link'>Volver Atras</a></center>");
echo "Marca creada correctamente!";
No quiero comprobar el form antes de enviarlo, quiero enviar el form mediante ajax, he probado utilizando un input tipo button, pero da el mismo resultado: funciona en IE mas no en Firefox. Tampoco descarto que algo del jscript este mal.
Gracias de antemano.