Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/08/2010, 12:14
DRD
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 14 años, 3 meses
Puntos: 0
Problema con Validacion

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&oacute;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.