Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/10/2012, 04:00
paty221
 
Fecha de Ingreso: junio-2012
Mensajes: 22
Antigüedad: 11 años, 10 meses
Puntos: 0
Pregunta [B]Formulario que al llamar al archivo .js para hacer validaciones de campo falla [/B

Tengo un formulario dentro de un archivo php, y al pulsar el botón que llama al .js no funciona bien, pues te carga la siguiente página. Os explico un poco:

Tengo un formulario que al presionar el botón de manda a un archivo php.

Código HTML:
 <input type="button" value="RECIBIR PEDIDO POR MENSAJERIA" onclick="redondear(input_total_iva); 
confirmarFechas();document.getElementById('form1').action='prepago.php'; Validar2(form1);" /> 
En este archivo php se recogen los datos anteriores en oculto, y te pide nuevos datos a rellenar. Al final tiene un botón de continuar que manda a otro archivo php que tiene una parte de recordar todos los datos, mandar al TPV, mandar email al cliente... Mi problema es al enlazar el botón de continuar con un archivo .js para validar que se hayan rellenado los campos obligatorios. Aparece el cuadro de por favor rellene el nombre (por ejemplo) pero cuando le das a aceptar se carga la siguiente página...

Este es el código que tengo (lo pongo dentro de html para que salgan bien las partes del form, pero esta dentro de un php)


Código HTML:
<script src="validar-prueba.js" type="text/javascript">//</script>
<?php

$content='

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
<link href="diseno.css" rel="stylesheet" type="text/css" />

</head>

// QUITO PARTE DE LA PÁGINA QUE NO ES NECESARIA PARA ESTE CASO

    <div id="contenido">

<form id="form1" name="form1" method="post" action="pago.php ">

 
 <table>
   <tr>
     <td bgcolor="#E9C2CD"><strong>Nombre y Apellidos*</strong></td>
     <td><span class="Estilo3">
       <input name="nombre" type="text" id="nombre" size="32" />
     </span></td>
     <td bgcolor="#E9C2CD"><strong>Empresa</strong></td>
     <td><input name="empresa" type="text" id="empresa" size="32" /></td>
   </tr>

   //QUITO ALGUNOS CAMPOS PARA NO ALARGAR CÓDIGO
		 
<input type="submit" name="enviar" id="enviar" value="Confirmar Pedido" onclick=" Validardatosmensajeria(form1);" />
	
    </table>
    

</form> 
</body>
</html>
';

echo $content;

¿Alguien podría decirme cómo conseguir que funcione bien el .js y no se cargue la siguiente página hasta que no se hayan rellenado los datos bien?

MUCHAS GRACIAS

Pongo también el codigo del java scrip:


Código:
 function Validardatosmensajeria(form)

{
if (form.nombre.value == "") 

{ alert("Por favor ingrese su nombre."); form.nombre.focus(); return; }


if (form.telefono.value == "")

{ alert("Por favor ingrese su número de teléfono."); form.telefono.focus(); return; }

valor = document.getElementById("telefono").value;
if( !(/^\d{9}$/.test(valor)) ) {
   alert("Por favor ingrese un número de teléfono válido, 9 dígitos sin espacios"); form.telefono.focus(); return; }

if (form.email.value == "")

{ alert("Por favor ingrese su dirección de E-mail."); form.email.focus(); return; }


if (form.email.value.indexOf('@', 0) == -1 ||

form.email.value.indexOf('.', 0) == -1)

{ alert("Dirección de e-mail inválida, por favor, ingresa una correcta."); form.email.focus(); return; }

if (form.verif.checked==false)

{ alert("Tienes que aceptar las condiciones generales de contratación."); form.verif.focus(); return; }
}