Código Javascript:
Código:
Codigo del form 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!";
}
}
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:
$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.



