Foros del Web » Programando para Internet » Jquery »

Tengo un codigo COPY&PASTE que necesito modificar y no entiendo Jquery.

Estas en el tema de Tengo un codigo COPY&PASTE que necesito modificar y no entiendo Jquery. en el foro de Jquery en Foros del Web. Hola chicos, tengo un codigo que usa libreria Jquery-1.4.1.min este codigo CREA otra fila renombrando los campos 1,2,3,4,5,6,7,8, etc... actualmente lo estoy usando en un ...
  #1 (permalink)  
Antiguo 02/02/2011, 16:06
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 9 meses
Puntos: 89
Tengo un codigo COPY&PASTE que necesito modificar y no entiendo Jquery.

Hola chicos, tengo un codigo que usa libreria Jquery-1.4.1.min
este codigo CREA otra fila renombrando los campos 1,2,3,4,5,6,7,8, etc...
actualmente lo estoy usando en un form de venta...

AHORA... funciona 10 puntos, perooooooo tengo que hacer clic en un link para que cree los campos, y yo lo necesito en un EVENTO por ejemplo en onFocus=""

Les dejo unas fotos y los codigos...



codigo HTML

Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=latin1" />
  2. <!-- Inicio de Scripts -->
  3. <script type="text/javascript" src="./venta/ajax_framework.js"></script>
  4. <script src="shortcuts.js" type="text/javascript"></script>
  5. <script src="jquery-1.4.1.min.js" type="text/javascript"></script>
  6. <script src="newcam.js" type="text/ecmascript"></script>
  7. <script language="javascript" src="script.js"></script>
  8. function totalll(){
  9. var cont = 0;
  10. for (var i=9, campo = document.forms[0]; i<campo.elements.length ; i+=7){
  11.              if(campo.elements[i].value != "" || campo.elements[i].value != 0){
  12.                       cont= cont + parseInt(campo.elements[i].value);
  13.               }
  14. }
  15. document.forms[0].total5.value=cont;
  16. }
  17. <!-- Fin Scripts inicio Style Maestro -->
  18. <link rel="stylesheet" href="css/style.css" type="text/css" />
  19. </head>
  20.  
  21. <BODY style="background-color: transparent;"  >
  22. <form action="venta_.php" name="venta" method="post">
  23. <div align="center">
  24.   <table width="830" border="1">
  25.   <tr class="fuentea">
  26.     <td width="844">F/Pago
  27.       :
  28.       <select name="fp" id="fp">
  29.         <option value="0" selected="selected"><strong>C/C</strong></option>
  30.         <option value="1">EF</option>
  31.       </select>
  32.       <br />
  33.       <br />
  34.       Socio N&ordm;:
  35.       <input name="socio" id="socio" type="text" onKeyUp="javascript:autosuggest()" autocomplete="off"/>
  36.       <div id="results"> </div>    Nombre y Apellido:
  37.       <input type="text" name="nombre" id="nombre" size="45"/>
  38.       <br />
  39.       </label>
  40.       <table width="100%">
  41.         <tr>
  42.           <td width="8%"><div align="left">Cant.</div></td>
  43.           <td width="15%"><div align="center">C&oacute;digo</div></td>
  44.           <td width="53%"><div align="center">Descripci&oacute;n del producto</div></td>
  45.           <td width="13%"><div align="right">P./Unidad</div></td>
  46.           <td width="11%"><div align="center">Total</div></td>
  47.         </tr>
  48.         <table width="100%">
  49.  
  50.  
  51.     <tr>
  52.     <td><a onClick="id1.value='';subt1.value='0';can1.value='';cod1.value='';des1.value='';uni1.value='0';ppp1.value='';totalll(); document.venta.can1.focus()"href="#" class="fuentea" >(-) </a>
  53.     <input type="text" name="can1"  id="can1" size="2" maxlength="2" autocomplete="off" onFocus="nextfield ='cod1';" onKeyPress="return numbersonly(this, event)"/>    </td><td>
  54.     <input name="cod1" type="text" id="cod1" size="14" maxlength="13" autocomplete="off"  onKeyDown="buscar(this);return numbersonly(this, event)" onFocus="nextfield ='des1';"/>
  55.     </td><td>
  56.     <input name="des1" type="text" id="des1" size="55" maxlength="50" autocomplete="off" onFocus="nextfield ='can2';completar(cod1,uni1,des1,id1,ppp1);sumar(can1,uni1,subt1); totalll(); jump(can2);" readonly="readonly"/>
  57.     <input type="hidden" name="ppp1" id="ppp1"/><input type="hidden" name="id1" id="id1" />
  58.     </td><td>
  59.     <input name="uni1" type="text" id="uni1" size="6" maxlength="4" autocomplete="off" value="0" readonly="readonly"/>
  60.     </td><td>
  61.     <input name="subt1" type="text" id="subt1" value="0" size="6" maxlength="5" readonly="readonly" autocomplete="off"/>
  62.     </td></tr>
  63.      <tr id="mascampos"><a href="#">CLIC AQUI PARA CREAR MAS CAMPOS</a></tr>
  64.      <tr>
  65.     <td></td>
  66.     <td></td>
  67.     <td></td>
  68.     <td></td>
  69.     <td><input type="text" name="total5" id="total5" size="6" value="0" autocomplete="off" readonly="readonly"/></td>
  70.   </tr>
  71.       </table>
  72.  
  73.       <div align="right">
  74.         <input type="reset" name="cancel" id="cancel" value="Cancelar" />
  75.         <input type="submit" name="done" value="Emitir">
  76.         <br />
  77.       </div></td>
  78.   </tr>
  79.  
  80.  
  81. </div>
  82. </form>
  83.  
  84. <p>&nbsp;</p>
  85.  
  86. </body>
  87. </html>


el JS que genera los nuevos campos:
newcam.js

Código Javascript:
Ver original
  1. jQuery.fn.generaNuevosCampos = function(indice){
  2.         $(this).each(function(){
  3.             elem = $(this);
  4.             elem.data("indice",indice);
  5.            
  6.             elem.click(function(e){
  7.                 e.preventDefault();
  8.                 elem = $(this);
  9.                 indice = elem.data("indice");
  10.                 var nextindice;
  11.                 var tilde;
  12.                 tilde="'";
  13.                 nextindice= indice + 1;
  14.       texto_insertar ='ak genero el CODIGO de los campos a agregar';
  15.                 indice ++;
  16.                 elem.data("indice",indice);
  17.                 nuevo_campo = $(texto_insertar);
  18.                 elem.before(nuevo_campo);
  19.             });
  20.         });
  21.         return this;
  22.     }
  23.     $(document).ready(function(){
  24.         $("#mascampos").generaNuevosCampos(2);
  25. });

Código HTML:
Ver original
  1. "......
  2.  
  3.  
  4.      <tr id="mascampos"><a href="#">CLIC AQUI PARA CREAR MAS CAMPOS</a></tr>
  5.  
  6. ...."


como ven donde esta la leyenda y donde aparece en la imagen, lo que quiero sacar es esto:

"....<a href="#">CLIC AQUI PARA CREAR MAS CAMPOS</a>....."

y agregar un evento onFocus="" en uno de los campos.

de verdad agradesco a todos por tomarce unos min en leer..

__________________
Mono programando!
twitter.com/eguimariano
  #2 (permalink)  
Antiguo 02/02/2011, 16:21
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 16 años, 3 meses
Puntos: 87
Respuesta: Tengo un codigo COPY&PASTE que necesito modificar y no entiendo Jquery.

en newcam.js debes cambiar este código:

Código Javascript:
Ver original
  1. $("#mascampos").generaNuevosCampos(2);

por algo así:

Código Javascript:
Ver original
  1. $("#idcampo").focus(generaNuevosCampos(2));

donde idcampo es el id del objeto al que le quieres añadir el evento onfocus.

Saludos.
  #3 (permalink)  
Antiguo 02/02/2011, 16:29
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 9 meses
Puntos: 89
Respuesta: Tengo un codigo COPY&PASTE que necesito modificar y no entiendo Jquery.

Quike88 y que pongo en el onfocus ???
__________________
Mono programando!
twitter.com/eguimariano
  #4 (permalink)  
Antiguo 03/02/2011, 07:36
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 16 años, 3 meses
Puntos: 87
Respuesta: Tengo un codigo COPY&PASTE que necesito modificar y no entiendo Jquery.

que tal SirDuque,

esta linea

Código PHP:
Ver original
  1. $("#idcampo").focus(generaNuevosCampos(2));

agrega el evento onfocus a cualquier elemento (con el id=idcampo en este caso), y hace que se ejecute la función generaNuevosCampos(2) cada que ocurre dicho evento.

http://api.jquery.com/focus/

Saludos.
  #5 (permalink)  
Antiguo 03/02/2011, 12:41
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 9 meses
Puntos: 89
Respuesta: Tengo un codigo COPY&PASTE que necesito modificar y no entiendo Jquery.

Hola quike88, bueno puse como dijiste y no me funciono, lei el link, muy interesante, pero creo que ese script es para jquery 1.5 yo uso uno mas viejo, igual mas o menos entendi como funciona, con los ejemplos que me diste.

Te hago una pregunta, puedo hacer de este Jquery una simple funcion?
para poder ejecutarlo con un:

onFocus="generaNuevosCampos(2)"
onKeyPress="generaNuevosCampos(2)"

en cualquier lado, no en X lugar.. ya que necesito hacer como un bucle, dentro de los campos que este script crea. necesito que este el evento para que siga creando
__________________
Mono programando!
twitter.com/eguimariano
  #6 (permalink)  
Antiguo 10/02/2011, 18:14
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 9 meses
Puntos: 89
Respuesta: Tengo un codigo COPY&PASTE que necesito modificar y no entiendo Jquery.

Chicos, por favor, necesito convertir esta herramienta en un simple evento.

En el HTML esta el tr:

Cita:
<tr id="mascampos"><a href="#">CLIC AQUI PARA CREAR MAS CAMPOS</a></tr>
quiero que el tr quede haci:

Cita:
<tr id="mascampos"></tr>
y que poniendo como evento:

onFocus="generaNuevosCampos(2)"
onKeyPress="generaNuevosCampos(2)"

cree las nuevas tablas en el TR

Cita:
<tr id="mascampos"></tr>
Gracias
__________________
Mono programando!
twitter.com/eguimariano

Etiquetas: modificar
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 07:11.