Foros del Web » Programando para Internet » Javascript »

Funcion en form

Estas en el tema de Funcion en form en el foro de Javascript en Foros del Web. Hola a todos tengo esta funcion que lo que hace es lo siguiente si en tipo tengo Ninguno mi select1 estara deshabilitado... si marco Uno ...
  #1 (permalink)  
Antiguo 30/04/2014, 19:05
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Funcion en form

Hola a todos tengo esta funcion que lo que hace es lo siguiente si en tipo tengo Ninguno mi select1 estara deshabilitado... si marco Uno se habilita.... funciona perfecto pero al meterlo dentro de <form> deja de funcionar lei debo usar onsubmit="mi funcion(); " pero no consigo que quede.... al estar dentro de form

agregue esta linea <form action method="POST" name="formulario" id="formulario" onsubmit="tipo(); ">

Código HTML:
<script type="text/javascript">
function init() {
    document.getElementById("select1").disabled = true;
}
function tipo(radio){
    document.getElementById("select1").disabled=(radio.value == 2)?true: false;
}
</script> 
</head>
<body onload="init()">

<table>
<tr>
<th>Tipo</th>
<td>
<input type="radio" name="tipo" value="1" onclick="tipo(this)" />Uno
<input type="radio" name="tipo" value="2" checked onclick="tipo(this)" />Ninguno
</td>
</tr>
<tr>
<th>Nombre</th>
<td>
<select name="select1" id="select1">
<option value="1">ABC</option>
<option value="2">DFG</option>
</select>
</td>
</tr>
</table>
  #2 (permalink)  
Antiguo 30/04/2014, 20:21
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Funcion en form

Muevo tu tema desde PHP a Javascript.

Por cierto, si usas la función init() al cargar la página y la función tipo() al seleccionar un elemento del radio, no es necesario incluir la parte del onsubmit, a menos que vayas a realizar otra acción.

Aparte, supongo que no funciona en el onsubmit porque no estás enviando el parámetro que require la función.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 30/04/2014, 21:46
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Funcion en form

Cita:
Iniciado por Triby Ver Mensaje
Muevo tu tema desde PHP a Javascript.

Por cierto, si usas la función init() al cargar la página y la función tipo() al seleccionar un elemento del radio, no es necesario incluir la parte del onsubmit, a menos que vayas a realizar otra acción.

Aparte, supongo que no funciona en el onsubmit porque no estás enviando el parámetro que require la función.
Gracias Triby lo deje asi pero nada
Código HTML:
<script type="text/javascript">
function init() {
    document.getElementById("select1").disabled = true;
}
function tipo(radio){
    document.getElementById("select1").disabled=(radio.value == 2)?true: false;
}
</script>
</head>
<body onload="init()">
<form action method="POST" name="formulario" id="formulario"  onsubmit="tipo(radio); ">
<table>
    <tr>
        <th>Tipo</th>
        <td>
            <input type="radio" name="tipo" value="1" onclick="tipo(this)" />Uno
            <input type="radio" name="tipo" value="2" checked onclick="tipo(this)" />Dos
        </td>
    </tr>
    <tr>
        <th>Tipo</th>
        <td>
            <select name="select1" id="select1">
            <option value="1">ABC</option>
            <option value="2">DFG</option>
            </select>
        </td>
    </tr>   
</table>
</form> 
  #4 (permalink)  
Antiguo 30/04/2014, 22:34
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Funcion en form

El problema está en que utilizas el mismo nombre de cada radio button para nombrar a la función a la cual llamas en los mismos radio button, por eso es que se produce el siguiente error:

Cita:
Iniciado por Console
Uncaught TypeError: object is not a function
Cambia el nombre de los radio button, obviamente debiendo que ser el mismo en ambos. Acostúmbrate a utilizar distintos nombres para los elementos del DOM y para las funciones. El evento onsubmit está de más utilizarlo aquí.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 30/04/2014, 22:38
 
Fecha de Ingreso: abril-2014
Mensajes: 32
Antigüedad: 10 años
Puntos: 0
Respuesta: Funcion en form

Usa otro nombre para los INPUT (eiemplo:"tipos") y veras como funciona dentro y fuera del Formulario.

La función que llames desde el onClick no sea igual al nombre de este.

Código HTML:
Ver original
  1. <form action="" method="POST" name="formulario" id="formulario">
  2. <tr>
  3. <th>Tipo</th>
  4. <td>
  5. <input type="radio" name="tipos" value="1" onclick="tipo(this)" />
  6. <input type="radio" name="tipos" value="2" onclick="tipo(this)"  checked />
  7. </td>
  8. </tr>
  9. <tr>
  10. <th>Nombre</th>
  11. <td>
  12. <select name="select1" id="select1"  onclick="return tipo2('a')">
  13. <option value="1">ABC</option>
  14. <option value="2">DFG</option>
  15. </td>
  16. </tr>
  17. </table>
  18. </form>

Suerte!.
  #6 (permalink)  
Antiguo 01/05/2014, 09:11
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Funcion en form

Gracias chicos ha quedado bien
solo tengo una duda rmaeloy ¿Por qué en mi select tengo que tener el evento onclick tambien? cheque sin ponerlo y todo va bien pero hay alguna razón especial?

Gracias otra vez

Etiquetas: form, formulario, funcion, php, select
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 23:29.