Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/02/2011, 16:06
Avatar de SirDuque
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