Código Javascript:
Código:
Codigo del formfunction 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.