Foros del Web » Programando para Internet » Javascript »

No puedo cambiar el Type de un input

Estas en el tema de No puedo cambiar el Type de un input en el foro de Javascript en Foros del Web. Hola. Tengo un inconveniente... Tengo un Formulario de contacto y al boton de enviar lo tengo con un type="submit, ya que lo validé para HTML5. ...
  #1 (permalink)  
Antiguo 15/05/2013, 06:25
Avatar de sergiomaidana1989  
Fecha de Ingreso: abril-2013
Ubicación: Vera, Santa Fe
Mensajes: 70
Antigüedad: 11 años
Puntos: 0
No puedo cambiar el Type de un input

Hola.

Tengo un inconveniente... Tengo un Formulario de contacto y al boton de enviar lo tengo con un type="submit, ya que lo validé para HTML5.
Sin embargo, en IE tengo problemas. Es un dolor de cabeza. Ya pude colocarle un Script para que me valide el form a través de js. Pero necesito ahora poder cambiar el type de mi input de type="submit" a type="button", ya que así está validad, pero luego del alert envía de todas maneras.

Todavía no manejo mucho javascript. Y encontré un code en internet, que la traté de adaptar a mi caso. Pero no me sale.

Código HTML:
Ver original
  1. <script type="text/javascript">
  2.      window.onload = function() {
  3.           document.getElementById('enviar').innerHTML = "<input id=\"enviar\" type=\"button\" name=\"enviar_sub\" value=/"HOLAA/" />";
  4.      }

Y aquí esta una síntesis de la estructura de la página:
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es">
  3.     <head>
  4.         (...)
  5.     </head>
  6.  
  7.     <body>
  8.         <section id="wrap">
  9.             <header>
  10.                 (...)
  11.             </header>
  12.             <section id="contenido">
  13.                 <section id="form-contacto">
  14.                     <article>
  15.                         <form name="enviarmensaje_frm">
  16.                             <label></label>
  17.                             <input type="text" />
  18.                             <br><br>
  19.                             <label></label>
  20.                             <input type="email" />
  21.                             <br><br>
  22.                             (...)
  23.                             <section id="form-botonera">
  24.                                 <input type="submit" name="enviar_sub" id="enviar" value="Enviar mensaje" />
  25.                                 <input type="reset" name="restablecer_rst" id="restablecer" value="Restablecer" />
  26.                             </section>
  27.                         </form>
  28.                     </article>
  29.                 </section>
  30.             </section>
  31.             <footer>
  32.                 (...)
  33.             </footer>
  34.         </section>
  35.     </body>
  36. </html>

Básicamente tengo así mi código con sus respectivos id y name. Lo que no sé es cómo tendría que armar bien el Script que mostré primero para que me funcione en base al código de mi página.

No entiendo mucho de JavaScript aún.
¿Alguien podría decirme cómo se armaría ese script para mi página?

Desde ya, se los agradezco.
__________________
Sergio Daniel Maidana
  #2 (permalink)  
Antiguo 15/05/2013, 08:27
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: No puedo cambiar el Type de un input

me perdí, realmente no entiendo que quieres hacer ¿validar con JS, con HTML5 o que?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 15/05/2013, 11:45
Avatar de sergiomaidana1989  
Fecha de Ingreso: abril-2013
Ubicación: Vera, Santa Fe
Mensajes: 70
Antigüedad: 11 años
Puntos: 0
Respuesta: No puedo cambiar el Type de un input

No, no amigo.

Mira.
Ese formulario está validado con HTML5, y funciona bárbaro, mientras no sea Internet Explorer.
Ahora... Para IE creé la condición con HTML en el <head>

Código HTML:
Ver original
  1. <!--[if IE]>
  2.     (Script)
  3. <![endif]-->

Donde dice "(Script)" iría el código que encontré, y que no pude hacer funcionar.
Ese Script lo que haría es cambiar el <input type="submit"> a <input type="button">. ¿Por qué? Porque si queda en tipo "submit" envía igual el form, porque me ignora los "required" y el type="email".
Además, añadí otro script de validación en esa condición para que quede validado con js. Eso funciona perfecto también.
Pero necesito ese script que me convierta de "submit" a "button", porque por mas que salte un mensaje de error del otro script envía igual después el form.

Aquí dejaré el código que extraje de:
http://stackoverflow.com/questions/9093992/change-html-input-type-by-js

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4. <title>Untitled Document</title>
  5. <script type="text/javascript" language="javascript">
  6. function changefield(){
  7.     document.getElementById("passwordbox").innerHTML = "<input id=\"passwordfield\" type=\"password\" name=\"password-field\" title=\"Password\" tabindex=\"2\" />";
  8.     document.getElementById("password-field".focus();
  9. }
  10. </head>
  11.  
  12. <div id="passwordbox">
  13. <input id="password-field" type="text" name="password-field" title="Password"onfocus="changefield();" value="Password" tabindex="2" />
  14. </div>
  15. <input type="submit" name="submit" value="sign in" tabindex="3" />
  16.  
  17. </body>
  18. </html>

Ahí esta. En este código me basé.

Espero ahora haya quedado más claro
Gracias.
__________________
Sergio Daniel Maidana

Etiquetas: formulario, funcion, html, input, js, type
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 04:02.