Foros del Web » Creando para Internet » HTML »

Puedo hacer un submit de formulario mediante post usando antes un script de java?

Estas en el tema de Puedo hacer un submit de formulario mediante post usando antes un script de java? en el foro de HTML en Foros del Web. Hola, Tengo el siguiente problema, tengo un formulario que envía información a un script.php para que me mande un email y lo hago de la ...
  #1 (permalink)  
Antiguo 20/03/2012, 12:25
 
Fecha de Ingreso: mayo-2011
Mensajes: 72
Antigüedad: 12 años, 11 meses
Puntos: 1
Puedo hacer un submit de formulario mediante post usando antes un script de java?

Hola,

Tengo el siguiente problema, tengo un formulario que envía información a un script.php para que me mande un email y lo hago de la siguiente manera
Código HTML:
<form action="email.php" method="post" id="formulario"> 
Ahora añadí un javascript que mira si un campo de formulario está vacío, mi intención es que si está vacío no se llame a email.php y si tiene texto si se llame.

¿Hay alguna forma que desde ese script de java se haga un post llamando a email.php al igual que lo hago en el código que puse arriba?
  #2 (permalink)  
Antiguo 20/03/2012, 13:08
Avatar de haggenx  
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 823
Antigüedad: 17 años, 2 meses
Puntos: 24
Pregunta Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

No se si te he entendido, creo que quieres que se mande el formulario mediante una instruccion javascript, una vez que lo valides no?, sería document.formulario.submit(); , saludos.
  #3 (permalink)  
Antiguo 20/03/2012, 14:45
 
Fecha de Ingreso: mayo-2011
Mensajes: 72
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

lo que necesito es dejar el form de esta manera
Código HTML:
<form action="mijavascript" method="post" id="formulario"> 
Y lograr que en mi javascript se realice una llamada al archivo email.php mediante post, pasando a ese script php los datos que contenga el formulario.
  #4 (permalink)  
Antiguo 20/03/2012, 15:18
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

en el form

Código HTML:
Ver original
  1. <form method="post" action="email.php" onsubmit="return validar();">

y tu script (ojo que es un ejemplo incomplet, averiguar como se valida corre por tu cuenta)

Código Javascript:
Ver original
  1. <script>
  2. function validar(){
  3. // verificás lo que querés
  4.  
  5. if(campo != ""){
  6. // ok, no hacés nada y el form seprocesa
  7. }else{
  8. alert('error'); // mandás algun tipo de mensaje
  9. return false; // detiene el procesamiento
  10. }
  11.  
  12. }
  13. </script>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 21/03/2012, 09:15
 
Fecha de Ingreso: mayo-2011
Mensajes: 72
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

Hola, algo debo hacer mal porque no me funciona.

Pongo el código de mi formulario, que está en un archivo php:

Código PHP:
<form action="email.php" method="post" id="formulario" onsubmit="return validar();">
<
div class="datos">
<
label>Email</label>
<
input type="text" name="email"/>
</
div>



<
div class="datos">
<
label>Teléfono de contacto</label>
<
input type="text" name="telefono"/>
</
div>
</
form>
<!------
codigo para filtrar la llamada a email.php----!>


echo 
"<script language='javascript' type='text/javascript'>\n";
    echo 
"function validar(){\n";
    echo 
"var email = document.getElementByName("email").value;\n";
    echo 
"var telefono = document.getElementByName("telefono").value;\n";
    echo 
"if(email="" && telefono="")\n";
    echo 
"{\n";
    echo 
"alert('Por favor introduzca su email o teléfono para que podamos contestar su solicitud. Muchas gracias');\n";
    echo 
"return false;\n";
    echo 
"}\n";
    echo 
"}\n";
   
    
    echo 
"</script>\n"
  #6 (permalink)  
Antiguo 21/03/2012, 10:31
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

Y si , bien no esta
por que haces esto

echo "<script language='javascript' type='text/javascript'>\n";
echo "function validar(){\n";
echo "var email = document.getElementByName("email").value;\n";
echo "var telefono = document.getElementByName("telefono").value;\n";
echo "if(email="" && telefono="")\n";
echo "{\n";
echo "alert('Por favor introduzca su email o teléfono para que podamos contestar su solicitud. Muchas gracias');\n";
echo "return false;\n";
echo "}\n";
echo "}\n";


echo "</script>\n";

no hace falta que la pases por php. y la script tambien esta mal
simplemente la pones dentro del head

Tenes muchos otros errores, compará
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6.  
  7. <script type="text/javascript">
  8. //<![CDATA[
  9. function validar(){
  10. var email = document.getElementById("email").value;
  11. var telefono = document.getElementById("telefono").value;
  12. if((email == "")||(telefono == "")){
  13. alert('Ingrese su Email y su teléfono');
  14. return false;
  15. }
  16. }
  17. //]]>
  18. </head>
  19. <form action="email.php" onsubmit="return validar();">
  20. <input type="text" name="email" id="email" /><br />
  21. <input type="text" name="telefono" id="telefono" />
  22. <input type="submit" />
  23. </form>
  24. </body>
  25. </html>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 21/03/2012, 10:55
 
Fecha de Ingreso: mayo-2011
Mensajes: 72
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

Hola, esta parte :
echo "<script language='javascript' type='text/javascript'>\n";
echo "function validar(){\n";
echo "var email = document.getElementByName("email").value;\n";
echo "var telefono = document.getElementByName("telefono").value;\n";
echo "if(email="" && telefono="")\n";
echo "{\n";
echo "alert('Por favor introduzca su email o teléfono para que podamos contestar su solicitud. Muchas gracias');\n";
echo "return false;\n";
echo "}\n";
echo "}\n";

La necesito porque el formulario necesariamente tiene que estar en un archivo php, ya que en mi web este formulario aparece en el index cuando se hace click en un vínculo y hago que se integre el formulario mediante un include.

Por ello creo que no tengo más alternativa que usar los echo. Corregí los errores de sintaxis, que tu pusiste pero algo me sigue fallando con los echo, ya que no logro que funcione
  #8 (permalink)  
Antiguo 21/03/2012, 11:04
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

Código PHP:
Ver original
  1. <?php
  2. ## este es un archivo php que contiene código html puro
  3. ?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  5. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml">
  7. <head>
  8. <title>titulo</title>
  9. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  10. <script type="text/javascript">
  11. //<![CDATA[
  12. function validar(){
  13. var email = document.getElementById("email").value;
  14. var telefono = document.getElementById("telefono").value;
  15. if((email == "")||(telefono == "")){
  16. alert('Ingrese su Email y su teléfono');
  17. return false;
  18. }
  19. }
  20. //]]>
  21. </script>
  22. </head>
  23. <body>
  24. <?php
  25. $x = "variable";
  26. ?>
  27. <form action="email.php" onsubmit="return validar();">
  28. <input type="text" name="email" id="email" /><br />
  29. <input type="text" name="telefono" id="telefono" />
  30. <input type="submit" />
  31. </form>
  32. <div>
  33. <?php
  34. if($x == "variable"){
  35. echo "Hola";
  36. }
  37. ?>
  38. </div>
  39. </body>
  40. </html>

@Jor1980... Urgente !!!! los manuales
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #9 (permalink)  
Antiguo 21/03/2012, 12:41
 
Fecha de Ingreso: mayo-2011
Mensajes: 72
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

Hola, si se que necesito más formación, el caso es que me puse a construir mi web porque la necesitaba con urgencia.

y ahora no se solucionarlo. Así lo dejé ahora pro no me funciona

Código PHP:
<?php 
## este es un archivo php que contiene código html puro
?>
<!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>
<title></title> 
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript">
//<![CDATA[
function validar(){
var email = document.getElementById("email").value;
var telefono = document.getElementById("telefono").value; 
if((email == "")||(telefono == "")){
alert('Ingrese su Email y su teléfono');
return false;
}
}
//]]>
</script>
</head>


<body>

<form action="email.php" method="post" id="formulario" onsubmit="return validar();">
<p class="subtitulo">Datos del vehículo:</p>
<div class="grupoizquierda">

<div class="datos">
<label>Marca</label>
<input  type="text" name="marca"/>
</div>

<div class="datos">
<label>Versión</label>
<input type="text" name="version"/>
</div>

<div class="datos">
<label>Garaje</label>
<input type="checkbox" name="garaje"/>
</div>

<div class="datos">
<label>Compañía</label>
<input type="text" name="compania de seguros"/>
</div>

</div><!---final grupoizquierda--->

<div class="grupoderecha">

<div class="datos">
<label>Modelo</label>
<input type="text" name="modelo"/>
</div>

<div class="datos">
<label>CV</label>
<input type="text" name="cv"/>
</div>

<div class="datos">
<label>Código Postal</label>
<input type="text" name="codigo postal"/>
</div>

<div class="datos">
<label>Nº póliza actual</label>
<input type="text" name="poliza actual"/>
</div>

</div><!--final grupoderecha-->




<div class="grupocentro">


<p class="subtitulo">Datos de matriculación:</p>



<div class="datos">
<label>Año de matriculación</label>
<select name="matriculacion"><option>Seleccione</option><option>1990</option><option>1991</option><option>1992</option><option>1993</option><option>1994</option><option>1995</option><option>1996</option><option>1997</option><option>1998</option><option>1999</option><option>2000</option><option>2001</option><option>2002</option><option>2003</option><option>2004</option><option>2005</option><option>2006</option><option>2007</option><option>2008</option><option>2009</option><option>2010</option><option>2011</option><option>2012</option></select>
</div>

<div class="datos">
<label>Mes de matriculación</label>
<select name="mes matriculacion"><option>Seleccione</option><option>Enero</option><option>Febrero</option><option>Marzo</option><option>Abril</option><option>Mayo</option><option>Junio</option><option>Julio</option><option>Agosto</option><option>Septiembre</option><option>Octubre</option><option>Noviembre</option><option>Diciembre</option></select>
</div>


<p class="subtitulo">Datos del conductor:</p>


<div class="grupoizquierda">

<div class="datos">
<label>Nombre</label>
<input type="text" name="nombre"/>
</div>

<div class="datos">
<label>DNI</label>
<input type="text" name="dni" /> 
</div>

<div class="datos">
<label>Sexo</label>
<select name="sexo"><option>Seleccione</option><option>Hombre</option><option>Mujer</option> </select>
</div>

</div><!--end grupoizquierda de grupocentro-->


<div class="grupoderecha">

<div class="datos">
<label>Años de carnet</label>
<input type="text" name="anyos de carnet"/>
</div>

<div class="datos">
<label>Edad</label>
<input type="text" name="edad"/>
</div>

</div><!--end grupoderecha de grupo centro-->

<br />
<br />
<br />
<br />
<br />
<p class="subtitulo">Datos para recibir la información solicitada:</p>

<div class="grupoizquierda">

<div class="datos">
<label>Email</label>
<input type="text" name="email"/>
</div>

</div><!--fin grupoizquierda-->

<div class="grupoderecha">

<div class="datos">
<label>Teléfono de contacto</label>
<input type="text" name="telefono"/>
</div>

</div><!--fin grupoderecha-->

<br />

<div class="datos">
<p style="font-size:18px">Observaciones:</p>
<textarea name="observaciones" style="height:80px;width:350px;" /></textarea>
</div>

<input type="submit" name="enviar" style="height:30px; width:150px; margin-top:15px; margin-left:15px;" value="Enviar datos"/>
<a href="#" id="politica" class="politica">Política de privacidad</a>
</div><!--final grupocentro-->


</form>



</body>

</html>
  #10 (permalink)  
Antiguo 21/03/2012, 13:16
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

Si estás usando getElementById en el javascript, esos campos necesitan tener definido su correspondiente id
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title></title>  
  6. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  7. <script type="text/javascript">
  8. //<![CDATA[
  9. function validar(){
  10. var email = document.getElementById("email").value;
  11. var telefono = document.getElementById("telefono").value;  
  12. if((email == "")||(telefono == "")){
  13. alert('Ingrese su Email y su teléfono');
  14. return false;
  15. }else{
  16. return true;
  17. }
  18. }
  19. //]]>
  20. </script>
  21. </head>
  22.  
  23.  
  24. <body>
  25.  
  26. <form action="email.php" method="post" id="formulario" onsubmit="return validar();">
  27.  <p class="subtitulo">Datos del vehículo:</p>
  28. <div class="grupoizquierda">
  29.  
  30. <div class="datos">
  31. <label>Marca</label>
  32. <input  type="text" name="marca"/>
  33. </div>
  34.  
  35. <div class="datos">
  36. <label>Versión</label>
  37. <input type="text" name="version"/>
  38. </div>
  39.  
  40. <div class="datos">
  41. <label>Garaje</label>
  42. <input type="checkbox" name="garaje"/>
  43. </div>
  44.  
  45. <div class="datos">
  46. <label>Compañía</label>
  47. <input type="text" name="compania de seguros"/>
  48. </div>
  49.  
  50. </div><!---final grupoizquierda -->
  51.  
  52. <div class="grupoderecha">
  53.  
  54. <div class="datos">
  55. <label>Modelo</label>
  56. <input type="text" name="modelo"/>
  57. </div>
  58.  
  59. <div class="datos">
  60. <label>CV</label>
  61. <input type="text" name="cv"/>
  62. </div>
  63.  
  64. <div class="datos">
  65. <label>Código Postal</label>
  66. <input type="text" name="codigo postal"/>
  67. </div>
  68.  
  69. <div class="datos">
  70. <label>Nº póliza actual</label>
  71. <input type="text" name="poliza actual"/>
  72. </div>
  73.  
  74. </div><!--final grupoderecha-->
  75.  
  76.  
  77.  
  78.  
  79. <div class="grupocentro">
  80.  
  81.  
  82. <p class="subtitulo">Datos de matriculación:</p>
  83.  
  84.  
  85.  
  86. <div class="datos">
  87. <label>Año de matriculación</label>
  88. <select name="matriculacion"><option>Seleccione</option><option>1990</option><option>1991</option><option>1992</option><option>1993</option><option>1994</option><option>1995</option><option>1996</option><option>1997</option><option>1998</option><option>1999</option><option>2000</option><option>2001</option><option>2002</option><option>2003</option><option>2004</option><option>2005</option><option>2006</option><option>2007</option><option>2008</option><option>2009</option><option>2010</option><option>2011</option><option>2012</option></select>
  89.  </div>
  90.  
  91. <div class="datos">
  92. <label>Mes de matriculación</label>
  93. <select name="mes matriculacion"><option>Seleccione</option><option>Enero</option><option>Febrero</option><option>Marzo</option><option>Abril</option><option>Mayo</option><option>Junio</option><option>Julio</option><option>Agosto</option><option>Septiembre</option><option>Octubre</option><option>Noviembre</option><option>Diciembre</option></select>
  94.  </div>
  95.  
  96.  
  97. <p class="subtitulo">Datos del conductor:</p>
  98.  
  99.  
  100. <div class="grupoizquierda">
  101.  
  102. <div class="datos">
  103. <label>Nombre</label>
  104. <input type="text" name="nombre"/>
  105. </div>
  106.  
  107. <div class="datos">
  108. <label>DNI</label>
  109. <input type="text" name="dni" />  
  110. </div>
  111.  
  112. <div class="datos">
  113. <label>Sexo</label>
  114. <select name="sexo"><option>Seleccione</option><option>Hombre</option><option>Mujer</option> </select>
  115.  </div>
  116.  
  117. </div><!--end grupoizquierda de grupocentro-->
  118.  
  119.  
  120. <div class="grupoderecha">
  121.  
  122. <div class="datos">
  123. <label>Años de carnet</label>
  124. <input type="text" name="anyos de carnet"/>
  125. </div>
  126.  
  127. <div class="datos">
  128. <label>Edad</label>
  129. <input type="text" name="edad"/>
  130. </div>
  131.  
  132. </div><!--end grupoderecha de grupo centro-->
  133.  
  134. <br />
  135. <br />
  136. <br />
  137. <br />
  138. <br />
  139. <p class="subtitulo">Datos para recibir la información solicitada:</p>
  140.  
  141. <div class="grupoizquierda">
  142.  
  143. <div class="datos">
  144. <label>Email</label>
  145. <input type="text" name="email" id="email"/>
  146. </div>
  147.  
  148. </div><!--fin grupoizquierda-->
  149.  
  150. <div class="grupoderecha">
  151.  
  152. <div class="datos">
  153. <label>Teléfono de contacto</label>
  154. <input type="text" name="telefono" id="telefono"/>
  155. </div>
  156.  
  157. </div><!--fin grupoderecha-->
  158.  
  159. <br />
  160.  
  161. <div class="datos">
  162. <p style="font-size:18px">Observaciones:</p>
  163. <textarea name="observaciones" style="height:80px;width:350px;" rows="10" cols="20"></textarea>
  164. </div>
  165.  
  166. <input type="submit" name="enviar" style="height:30px; width:150px; margin-top:15px; margin-left:15px;" value="Enviar datos"/>
  167.  <a href="#" id="politica" class="politica">Política de privacidad</a>
  168. </div><!--final grupocentro-->
  169. </form>
  170. </body>
  171. </html>

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #11 (permalink)  
Antiguo 21/03/2012, 22:11
Avatar de haggenx  
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 823
Antigüedad: 17 años, 2 meses
Puntos: 24
Pregunta Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

y no te funciona?

Código:
<script language="JavaScript"> 

function enviar()
{
  document.formulario.submit();
}

</script> 

<form action="email.php" method="post" id="formulario"> 
<input type="text" name="campo"> 
<input type="button" value="Enviar" onClick="javascript:enviar();"> 
</form>
  #12 (permalink)  
Antiguo 22/03/2012, 03:43
 
Fecha de Ingreso: mayo-2011
Mensajes: 72
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

Ahora está corregido lo de los id, pero cuando pruebo dejo los campos email y teléfono vacíos y no me salta ninguna ventana de alerta ni se queda en la página actual, si no que se va a email.php.

¿A ti te ha funcionado este código?


Cita:
Iniciado por emprear Ver Mensaje
Si estás usando getElementById en el javascript, esos campos necesitan tener definido su correspondiente id
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title></title>  
  6. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  7. <script type="text/javascript">
  8. //<![CDATA[
  9. function validar(){
  10. var email = document.getElementById("email").value;
  11. var telefono = document.getElementById("telefono").value;  
  12. if((email == "")||(telefono == "")){
  13. alert('Ingrese su Email y su teléfono');
  14. return false;
  15. }else{
  16. return true;
  17. }
  18. }
  19. //]]>
  20. </script>
  21. </head>
  22.  
  23.  
  24. <body>
  25.  
  26. <form action="email.php" method="post" id="formulario" onsubmit="return validar();">
  27.  <p class="subtitulo">Datos del vehículo:</p>
  28. <div class="grupoizquierda">
  29.  
  30. <div class="datos">
  31. <label>Marca</label>
  32. <input  type="text" name="marca"/>
  33. </div>
  34.  
  35. <div class="datos">
  36. <label>Versión</label>
  37. <input type="text" name="version"/>
  38. </div>
  39.  
  40. <div class="datos">
  41. <label>Garaje</label>
  42. <input type="checkbox" name="garaje"/>
  43. </div>
  44.  
  45. <div class="datos">
  46. <label>Compañía</label>
  47. <input type="text" name="compania de seguros"/>
  48. </div>
  49.  
  50. </div><!---final grupoizquierda -->
  51.  
  52. <div class="grupoderecha">
  53.  
  54. <div class="datos">
  55. <label>Modelo</label>
  56. <input type="text" name="modelo"/>
  57. </div>
  58.  
  59. <div class="datos">
  60. <label>CV</label>
  61. <input type="text" name="cv"/>
  62. </div>
  63.  
  64. <div class="datos">
  65. <label>Código Postal</label>
  66. <input type="text" name="codigo postal"/>
  67. </div>
  68.  
  69. <div class="datos">
  70. <label>Nº póliza actual</label>
  71. <input type="text" name="poliza actual"/>
  72. </div>
  73.  
  74. </div><!--final grupoderecha-->
  75.  
  76.  
  77.  
  78.  
  79. <div class="grupocentro">
  80.  
  81.  
  82. <p class="subtitulo">Datos de matriculación:</p>
  83.  
  84.  
  85.  
  86. <div class="datos">
  87. <label>Año de matriculación</label>
  88. <select name="matriculacion"><option>Seleccione</option><option>1990</option><option>1991</option><option>1992</option><option>1993</option><option>1994</option><option>1995</option><option>1996</option><option>1997</option><option>1998</option><option>1999</option><option>2000</option><option>2001</option><option>2002</option><option>2003</option><option>2004</option><option>2005</option><option>2006</option><option>2007</option><option>2008</option><option>2009</option><option>2010</option><option>2011</option><option>2012</option></select>
  89.  </div>
  90.  
  91. <div class="datos">
  92. <label>Mes de matriculación</label>
  93. <select name="mes matriculacion"><option>Seleccione</option><option>Enero</option><option>Febrero</option><option>Marzo</option><option>Abril</option><option>Mayo</option><option>Junio</option><option>Julio</option><option>Agosto</option><option>Septiembre</option><option>Octubre</option><option>Noviembre</option><option>Diciembre</option></select>
  94.  </div>
  95.  
  96.  
  97. <p class="subtitulo">Datos del conductor:</p>
  98.  
  99.  
  100. <div class="grupoizquierda">
  101.  
  102. <div class="datos">
  103. <label>Nombre</label>
  104. <input type="text" name="nombre"/>
  105. </div>
  106.  
  107. <div class="datos">
  108. <label>DNI</label>
  109. <input type="text" name="dni" />  
  110. </div>
  111.  
  112. <div class="datos">
  113. <label>Sexo</label>
  114. <select name="sexo"><option>Seleccione</option><option>Hombre</option><option>Mujer</option> </select>
  115.  </div>
  116.  
  117. </div><!--end grupoizquierda de grupocentro-->
  118.  
  119.  
  120. <div class="grupoderecha">
  121.  
  122. <div class="datos">
  123. <label>Años de carnet</label>
  124. <input type="text" name="anyos de carnet"/>
  125. </div>
  126.  
  127. <div class="datos">
  128. <label>Edad</label>
  129. <input type="text" name="edad"/>
  130. </div>
  131.  
  132. </div><!--end grupoderecha de grupo centro-->
  133.  
  134. <br />
  135. <br />
  136. <br />
  137. <br />
  138. <br />
  139. <p class="subtitulo">Datos para recibir la información solicitada:</p>
  140.  
  141. <div class="grupoizquierda">
  142.  
  143. <div class="datos">
  144. <label>Email</label>
  145. <input type="text" name="email" id="email"/>
  146. </div>
  147.  
  148. </div><!--fin grupoizquierda-->
  149.  
  150. <div class="grupoderecha">
  151.  
  152. <div class="datos">
  153. <label>Teléfono de contacto</label>
  154. <input type="text" name="telefono" id="telefono"/>
  155. </div>
  156.  
  157. </div><!--fin grupoderecha-->
  158.  
  159. <br />
  160.  
  161. <div class="datos">
  162. <p style="font-size:18px">Observaciones:</p>
  163. <textarea name="observaciones" style="height:80px;width:350px;" rows="10" cols="20"></textarea>
  164. </div>
  165.  
  166. <input type="submit" name="enviar" style="height:30px; width:150px; margin-top:15px; margin-left:15px;" value="Enviar datos"/>
  167.  <a href="#" id="politica" class="politica">Política de privacidad</a>
  168. </div><!--final grupocentro-->
  169. </form>
  170. </body>
  171. </html>

SAludos
  #13 (permalink)  
Antiguo 22/03/2012, 06:58
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

Si, funciona
http://foros.emprear.com/html/form.html

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #14 (permalink)  
Antiguo 22/03/2012, 12:19
 
Fecha de Ingreso: mayo-2011
Mensajes: 72
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

El código tuyo si funciona, lo raro es que si lo pego en mi web sin cambiar nada el código no funciona. ¿te serviría de algo si te paso la url a ver si tienes una idea de donde puede venir el fallo?

Podría ser que este formulario lo inserto en un archivo html que ya tiene su propio cabecero y estructura, o crees que puede venir de otro lugar el fallo.

Viendo como queda el código al usar la herramienta de google chrome, una vez que se efectua el include del formulario en el index de mi web queda así:

Código HTML:
<!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>
<title>Agente</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />



<script language="JavaScript" src="email.php"></script>
 
  <script>
 $(document).ready(function() {
      $("#accordion").accordion('activate', 0);
});
  </script>


<title>Untitled Document</title>
</head>




<body>
<div id="buttonswrapper">
<img src="images/animacionheader.gif"/ style="border:1px border-color:#E0E0E0" >
<ul id="menu">
	<li><a href="/index.php?presupuesto=presupuestohogar" title="">Presupuesto Seguro Hogar</a></li>
	<li><a href="/index.php?presupuesto=presupuestocoche" title="">Presupuesto Seguro Coche</a></li>
	<li><a href="/index.php?presupuesto=presupuestocoche" title="">Presupuesto Seguro Moto</a></li>
	<li><a href="/index.php?presupuesto=presupuestocomercio" title="">Presupuesto Seguro Comercios</a></li>
	
    <li><a href="/index.php?presupuesto=presupuestoviaje" title="">Presupuesto Seguro De Viaje</a></li>
</ul>
</div>
<!--div para incluir los botones de solicitud de presupuestos-->

<div id="wrapper">

   <div id="headerdiv" ><a href="index.php" title=""><img src="images/header.jpg" class="float-left" id="headerimage" style="border:none;" />
        <img src="images/mapfre.jpg" alt="" class="float-right" id="headerimage" style="border:none;"/></a></div><!--end headerdiv--->
    
 
<div class="nav-container-outer">
   <img src="images/nav-bg-l.jpg" alt="" class="float-left" />
   <img src="images/nav-bg-r.jpg" alt="" class="float-right" />
	 <ul id="nav-container" class="nav-container">
	  	<li><a class="item-primary" href="#">Seguros de Coche</a>
  				<ul>
                	<li><a href="/index.php?producto=polizabasica">Póliza Básica</a></li>
                    <li><a href="/index.php?producto=polizasiete">Póliza 7</a></li>
                    <li><a href="/index.php?producto=polizadiez">Nueva Póliza 10</a></li>
                    <li><a href="/index.php?producto=polizalider">Póliza Líder</a></li>
                    <li><a href="/index.php?producto=polizatodoriesgo100">Póliza Todo Riesgo 100</a></li>
                </ul><!--end Seguros de Coche list--->
      </li><!--end Seguros de Coche-->
      
      
       <li><a class="item-primary" href="#">Seguros de Moto</a>
       		<ul>
            	<li><a href="/index.php?producto=motobasica">Moto Básica</a></li>
                <li><a href="/index.php?producto=motodiez">Moto Diez</a></li>
                <li><a href="/index.php?producto=motolider">Moto Líder</a></li>
            </ul><!--end Seguros de Moto ul-->
       </li>
          	   
               
               
		  <li><a class="item-primary" href="#">Seguros Generales</a>
          		<ul>
                	
                    <li><a href="/index.php?producto=accidentesrenta">Seguro de Accidentes Personales</a></li>
                </ul><!--end ul seguros generales-->
           </li><!--end Seguros Generales li-->  
           
              
   		  <li><a class="item-primary" href="#">Seguros de Salud</a>
          		<ul>
                	<li><a href="/index.php?producto=reembolsogastos">Reembolso de Gastos</a></li>
                    <li><a href="/index.php?producto=asistenciasanitaria">Asistencia Sanitaria</a></li>
                    <li><a href="/index.php?producto=indemnizacionbaja">Seguros Indemnización por Baja</a></li>
                    <li><a href="/index.php?producto=saluddental">Salud Dental</a></li>
                </ul><!--end ul Seguros de Salud-->	
          </li><!--end li Seguros de Salud-->
          
          
   		  <li><a class="item-primary" href="#">Seguros de Vida</a>
          		<ul>
                	 <li><a href="/index.php?producto=planpension">Planes de Pensiones</a></li>
                     <li><a href="/index.php?producto=segurovida">Seguro de Vida</a></li>
                     <li><a href="#">Fondos de Inversión</a></li>
                     <li><a href="/index.php?producto=pias">PIAS</a></li>
                </ul><!--end Seguros de Vida ul-->
          </li><!--end Seguros de Vida li-->
   		  
          
          <li><a class="item-primary" href="#">Productos Bancarios</a>
          	<ul>
            	<li><a href="/index.php?producto=hipotecas">Hipotecas</a></li>
                <li><a href="/index.php?producto=consumo">Consumo</a></li>
                <li><a href="/index.php?producto=cuentacorriente">Cuenta Corriente</a></li>
                <li><a href="/index.php?producto=depositos">Depósitos</a></li>
                <li><a href="/index.php?producto=ico">Líneas ICO</a></li>
            </ul><!--end Productos Bancarios ul-->	
          </li><!--end Productos Bancario li-->
	</ul><!--navigationmenu end-->
    </div><!--end navigation div--->

	<div id="infopanel">
     


 <!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>
<title></title> 
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript">
//<![CDATA[
function validar(){
var email = document.getElementById("email").value;
var telefono = document.getElementById("telefono").value; 
if((email == "")||(telefono == "")){
alert('Ingrese su Email y su teléfono');
return false;
}
}
//]]>
</script>
</head>


<body>

<form action="email.php" method="post" id="formulario" onsubmit="return validar();">
<p class="subtitulo">Datos del vehículo:</p>
<div class="grupoizquierda">

<div class="datos">
<label>Marca</label>
<input  type="text" name="marca"/>
</div>

<div class="datos">
<label>Versión</label>
<input type="text" name="version"/>
</div>

<div class="datos">
<label>Garaje</label>
<input type="checkbox" name="garaje"/>
</div>

<div class="datos">
<label>Compañía</label>
<input type="text" name="compania de seguros"/>
</div>

</div><!---final grupoizquierda--->

<div class="grupoderecha">

<div class="datos">
<label>Modelo</label>
<input type="text" name="modelo"/>
</div>

<div class="datos">
<label>CV</label>
<input type="text" name="cv"/>
</div>

<div class="datos">
<label>Código Postal</label>
<input type="text" name="codigo postal"/>
</div>

<div class="datos">
<label>Nº póliza actual</label>
<input type="text" name="poliza actual"/>
</div>

</div><!--final grupoderecha-->




<div class="grupocentro">


<p class="subtitulo">Datos de matriculación:</p>



<div class="datos">
<label>Año de matriculación</label>
<select name="matriculacion"><option>Seleccione</option><option>1990</option></select>
</div>

<div class="datos">
<label>Mes de matriculación</label>
<select name="mes matriculacion"><option>Seleccione</option><option>Enero</option><option>Febrero</option><option>Marzo</option><option>Abril</option><option>Mayo</option><option>Junio</option><option>Julio</option><option>Agosto</option><option>Septiembre</option><option>Octubre</option><option>Noviembre</option><option>Diciembre</option></select>
</div>


<p class="subtitulo">Datos del conductor:</p>


<div class="grupoizquierda">

<div class="datos">
<label>Nombre</label>
<input type="text" name="nombre"/>
</div>

<div class="datos">
<label>DNI</label>
<input type="text" name="dni" /> 
</div>

<div class="datos">
<label>Sexo</label>
<select name="sexo"><option>Seleccione</option><option>Hombre</option><option>Mujer</option> </select>
</div>

</div><!--end grupoizquierda de grupocentro-->


<div class="grupoderecha">

<div class="datos">
<label>Años de carnet</label>
<input type="text" name="anyos de carnet"/>
</div>

<div class="datos">
<label>Edad</label>
<input type="text" name="edad"/>
</div>

</div><!--end grupoderecha de grupo centro-->

<br />
<br />
<br />
<br />
<br />
<p class="subtitulo">Datos para recibir la información solicitada:</p>

<div class="grupoizquierda">

<div class="datos">
<label>Email</label>
<input type="text" name="email" id="telefono"/>
</div>

</div><!--fin grupoizquierda-->

<div class="grupoderecha">

<div class="datos">
<label>Teléfono de contacto</label>
<input type="text" name="telefono" id="telefono"/>
</div>

</div><!--fin grupoderecha-->

<br />

<div class="datos">
<p style="font-size:18px">Observaciones:</p>
<textarea name="observaciones" style="height:80px;width:350px;" /></textarea>
</div>

<input type="submit" name="enviar" style="height:30px; width:150px; margin-top:15px; margin-left:15px;" value="Enviar datos"/>
<a href="#" id="politica" class="politica">Política de privacidad</a>
</div><!--final grupocentro-->


</form>



</body>

</html>	
	</div><!--end infopanel-->
 
 
 

</div><!--end wrapperdiv-->

</body>
</html> 

Última edición por Jor1980; 22/03/2012 a las 12:27
  #15 (permalink)  
Antiguo 22/03/2012, 12:29
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

si, pasala porque es raro que no se ejecute
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #16 (permalink)  
Antiguo 23/03/2012, 12:18
 
Fecha de Ingreso: mayo-2011
Mensajes: 72
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

La url es esta:
http://www.mapfreagente.es/index.php...esupuestocoche

En mi anterior post si ves el código final que se genera en la web tiene 2 cabeceros de archivo html, igual esto puede darte una pista
  #17 (permalink)  
Antiguo 23/03/2012, 13:05
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

Tenes varios errores

Fundamental

Código HTML:
Ver original
  1. <div class="datos">
  2. <label>Email</label>
  3. <input type="text" name="email" id="telefono"/>
  4. </div>
  5.  
  6. </div><!--fin grupoizquierda-->
  7.  
  8. <div class="grupoderecha">
  9.  
  10. <div class="datos">
  11. <label>Teléfono de contacto</label>
  12. <input type="text" name="telefono" id="telefono"/>
  13. </div>


estás repitiendo id telefono para el email.
con respecto a la doble cabecera, supongo que estas haciendo un include de php o ussando ajax tal vez, si es asi, en el archivo que cargues solo tenes que poner el contenido html del for, es decir lo que esta entre <body> y </body> (la etiqueta body excluida), y la script de validación dentro del head del index, siempre despues del css

Ya la probé asi como esta corrigiendo lo del id del email y funcionó

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #18 (permalink)  
Antiguo 23/03/2012, 13:29
 
Fecha de Ingreso: mayo-2011
Mensajes: 72
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Puedo hacer un submit de formulario mediante post usando antes un script d

Gracias así si funciona, después he probado poniendo el código del script de validación en un archivo de java y incluyendo ese archivo en el cabecero del index, pero de esta forma no funciona.

Si esto es mucho lío no hace falta tampoco quiero complicarte más porque con lo que me pusiste me funciona, esto es simplemente por curiosidad

Etiquetas: formulario, mediante, php, post, submit
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:43.