Foros del Web » Programando para Internet » Javascript »

añadir metodo onchange a un Script

Estas en el tema de añadir metodo onchange a un Script en el foro de Javascript en Foros del Web. Buen dia amigos, tnego el siguente script: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original < script type = "text/javascript" > var numero = 0 ; ...
  #1 (permalink)  
Antiguo 28/12/2014, 17:21
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 10 años, 7 meses
Puntos: 0
añadir metodo onchange a un Script

Buen dia amigos, tnego el siguente script:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. var numero = 0;
  3.  
  4. // Funciones comunes
  5. c= function (tag) { // Crea un elemento
  6.    return document.createElement(tag);
  7. }
  8. d = function (id) { // Retorna un elemento en base al id
  9.    return document.getElementById(id);
  10. }
  11. e = function (evt) { // Retorna el evento
  12.    return (!evt) ? event : evt;
  13. }
  14. f = function (evt) { // Retorna el objeto que genera el evento
  15.    return evt.srcElement ?  evt.srcElement : evt.target;
  16. }
  17.  
  18. addField = function () {
  19.    container = d('files');
  20.    
  21.    span = c('SPAN');
  22.    span.className = 'file';
  23.    span.id = 'file' + (++numero);
  24.  
  25.    field = c('INPUT');  
  26.    field.name = 'archivos[]';
  27.    field.type = 'file';
  28.    
  29.    a = c('A');
  30.    a.name = span.id;
  31.    a.href = '#';
  32.    a.onclick = removeField;
  33.    a.innerHTML = 'Eliminar';
  34.  
  35.    span.appendChild(field);
  36.    span.appendChild(a);
  37.    container.appendChild(span);
  38. }
  39. removeField = function (evt) {
  40.    lnk = f(e(evt));
  41.    span = d(lnk.name);
  42.    span.parentNode.removeChild(span);
  43. }
  44. </script>

Necesito añadirle esta función que normalmente iria en un campo de tipo file en un formulario, por ejemplo <input type="file" name="archivito" id="archivito" onchange="checkear(this)"> pero necesito unicamente añadirle el metodo

Código Javascript:
Ver original
  1. onchange="checkear(this)"

al script de arriba. se los agreadeceria si me colaboran por favor. Gracias.
  #2 (permalink)  
Antiguo 28/12/2014, 19:10
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: añadir metodo onchange a un Script

Así como haces esto para añadir el tipo de elemento:

Código Javascript:
Ver original
  1. field.type = 'file';

Puedes hacer esto para asociar una función a un evento en el mismo:

Código Javascript:
Ver original
  1. field.onchange = function(){
  2.     //Instrucciones
  3. };

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
  #3 (permalink)  
Antiguo 28/12/2014, 20:23
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: añadir metodo onchange a un Script

Hola alexis, gracias por responder. Pues mira que lo trate de hacer de varias formas pero no me funciona, ovio debo estar haciendo algo mal, pero es que no soy muy experta en javascript,

Código Javascript:
Ver original
  1. field.onchange = function checkear(f){
  2.        onchange="checkear(this)"
  3.     };

Me colaboras por fa. :)
  #4 (permalink)  
Antiguo 28/12/2014, 21:17
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: añadir metodo onchange a un Script

Esto:

Código Javascript:
Ver original
  1. field.onchange = function(){
  2.     //Instrucciones
  3. };

Equivale a esto:

Código HTML:
Ver original
  1. onchange = "checkear(this)"

Con la diferencia de que en la función, no necesitas pasarle el this como parámetro pues es accesible desde adentro de la función.

Código Javascript:
Ver original
  1. field.onchange = function(){
  2.     console.log(this); //Mostrará información con respecto al elemento en donde se produjo el evento
  3. };

Por ejemplo:
Código Javascript:
Ver original
  1. var boton = document.createElement("button");
  2.  
  3. boton.id = "foo";
  4. boton.innerText = "Botón";
  5. boton.onclick = function(){
  6.     alert("Mi id es: " + this.id); //Mi id es: foo
  7. };
  8.  
  9. document.body.appendChild(boton); //Adhiero el botón creado al documento

Lo anterior creará un botón, le asignará un id y un texto y cuando sea pulsado, mostrará un mensaje de alerta con su id.

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

Etiquetas: formulario, funcion, html, input, metodo, onchange
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 21:06.