elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Resuelto] mostrar un numero nuevo de telefono al hacer click
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] mostrar un numero nuevo de telefono al hacer click  (Leído 7,424 veces)
tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
[Resuelto] mostrar un numero nuevo de telefono al hacer click
« en: 11 Octubre 2015, 13:12 pm »

buenas gente estamos otra vez por aqui, tengo un problema, estoy intentando hacer que cuando le doy a un boton me muestre automaticamente un campo nuevo para añadir un telefono nuevo y asi hacer de forma que puedan insertar todos los numeros de telefono que quieran.

Es decir, que se agregue un nuevo numero al div de abajo, lo he hecho mediante ajax y me funciona, pero solo puedo añadir 1 numero solo, yo quiero que sea numeros infinitos por cada click. Como lo hariais?

Código
  1. <div class="dialogo-add-right">
  2. Cliente telefono 1: <input type="text" name=""><br>
  3. Nombre: <input type="text" name=""><br>
  4. Apellidos: <input type="text" name=""><br>
  5. Cliente telefono 2: <input type="text" name=""><br>
  6. Nombre: <input type="text" name=""><br>
  7. Apellidos: <input type="text" name=""><br>
  8. <div id="añadir_mas_numeros_telefono"><br>
  9.  
  10. </div>
  11. </form>
  12. <button class="add-mod-del_clientes" onclick="añadir_mas_numeros_telefono(this.value)" value="1">Añadir + numeros de telefono</button>
  13. </div>
  14.  


« Última modificación: 17 Octubre 2015, 10:58 am por #!drvy » En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
patilanz


Desconectado Desconectado

Mensajes: 481

555-555-0199@example.com


Ver Perfil WWW
Re: mostrar un numero nuevo de telefono al hacer click
« Respuesta #1 en: 11 Octubre 2015, 13:28 pm »

Código
  1. function buttonClicked(n){
  2.   var input = document.createElement('input');
  3.   input.type = 'text';
  4.   input.name = 'num' + n;
  5.   document.getElementById('añadir_mas_numeros_telefono').appendChild(input);
  6. }
  7.  

Te refieres a algo como esto?
O puedes hacer un div invisible y usar cloneNode.

Un saludo


En línea

tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
Re: mostrar un numero nuevo de telefono al hacer click
« Respuesta #2 en: 11 Octubre 2015, 13:46 pm »

si es lo que buscaba pero, como puedo hacer para que me me muestre n sumandole un 1 cada numero de telefono, es decir cambiar name= n+1 que lo harias con un for() o como ademas tendria que hacer un salto de linea <br>?
En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
patilanz


Desconectado Desconectado

Mensajes: 481

555-555-0199@example.com


Ver Perfil WWW
Re: mostrar un numero nuevo de telefono al hacer click
« Respuesta #3 en: 11 Octubre 2015, 14:31 pm »

Podrías contar el length de childNodes del div que contiene los inputs si no vas a poner nada, o haces algo como esto:

Código
  1. <div num='2'>
  2. <label>Numero: </label>
  3. <input type="text" name="num2" />
  4. </div>

Miras el atributo del ultimo nodo.

También puedes poner el atributo en el button de modo que haces esto:
Código
  1. function clicked(e){
  2.    var n = e.target.getAttribute('n')*1 + 1;
  3.    e.target.setAttribute('n',n);
  4.    ...
  5. }
« Última modificación: 11 Octubre 2015, 14:33 pm por patilanz » En línea

tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
Re: mostrar un numero nuevo de telefono al hacer click
« Respuesta #4 en: 11 Octubre 2015, 15:41 pm »

me estoy perdiendo un poco, como see implemetaria todo lo anterior entonces, es que me estoy haciendo un lio  :huh:

Código
  1. <div id="añadir_mas_numeros_telefono" n="2"><br>
  2.  
  3. </div>
  4. </form>
  5. <button class="add-mod-del_clientes" onclick="buttonClicked(this.value)" value="num2">Añadir + numeros de telefono</button>
  6.  
  7.  

Código
  1. <script type="text/javascript">
  2.  
  3. function buttonClicked(n){
  4.   var input = document.createElement('input');
  5.   input.type = 'text';
  6.   input.name = 'num' + n;
  7.   document.getElementById('añadir_mas_numeros_telefono').appendChild(input);
  8.   var br = document.createElement('br');
  9.   document.getElementById('añadir_mas_numeros_telefono').appendChild(br);
  10.  
  11. function clicked(e){
  12.    var n = e.target.getAttribute('n')*1 + 1;
  13.    e.target.setAttribute('n',n);
  14.  
  15. }
  16.  
  17. }
  18. </script>
  19.  
no entiendo que pasa ¿?¿?
« Última modificación: 11 Octubre 2015, 15:50 pm por tecasoft » En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: mostrar un numero nuevo de telefono al hacer click
« Respuesta #5 en: 11 Octubre 2015, 16:17 pm »

No entiendo porque quieres darle de "name" el nombre mas el numero. Si lo quieres recoger luego con un lenguaje server side, simplemente dale a TODOS los inputs de teléfono el nombre num[].

Código
  1. <div id="numeros_de_telefono"></div>
  2. </form>
  3. <button class="add-mod-del_clientes" onclick="buttonClicked(this.value)">Añadir + numeros de telefono</button>
  4.  
  5. <script type='text/javascript'>
  6. function buttonClicked(){
  7.    var input = document.createElement('input');
  8.    input.type = 'text';
  9.    input.name = 'num[]';
  10.    document.getElementById('numeros_de_telefono').appendChild(input);
  11. };

Luego con un lenguaje server-side, solo tienes que obtener el parametro GET/POST "num" y tratarlo como un array. Ejemplo en PHP.

Código
  1. <?php
  2. if(isset($_POST['num'])){
  3. foreach($_POST['num'] as $numero){
  4. echo $numero,'<br />';
  5. }
  6. }
  7. ?>

No te recomiendo añadir el <br> de esa forma. Usa CSS para darle un display:block; a los inputs dentro del div. Tampoco te recomiendo que uses caracteres como la ñ o acentos en los nombres y en el código en general.

Saludos
En línea

patilanz


Desconectado Desconectado

Mensajes: 481

555-555-0199@example.com


Ver Perfil WWW
Re: mostrar un numero nuevo de telefono al hacer click
« Respuesta #6 en: 11 Octubre 2015, 16:22 pm »

Porque le entregas el value de un botón a la función?
buttonClicked(this.value)
En línea

tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
Re: mostrar un numero nuevo de telefono al hacer click
« Respuesta #7 en: 11 Octubre 2015, 16:40 pm »

#!drvy

he seguido el paso que me has mencionado pero en la parte del servidor, no recibe los datos se ve que $_POST['num'] no recibe datos.

Código
  1. if(isset($_POST['num'])){
  2. foreach($_POST['num'] as $numero){
  3. echo $numero,'<br />';
  4. }
  5. }
  6. else
  7. {
  8. echo "no existe";
  9. }
  10.  

a mi me muestra que "no existe".
algo falla en el javascript al asignarle un numero al input.name = 'num[]';
En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
Re: mostrar un numero nuevo de telefono al hacer click
« Respuesta #8 en: 11 Octubre 2015, 17:07 pm »

esto es lo que tengo y no funciona, que raro no¿? que pensais al respecto, esto si que es muy muy raro  :huh:  :silbar:

Código
  1. <div id="numeros_telefono"><br>
  2.  
  3. </div>
  4. </form>
  5. <button class="add-mod-del_clientes" onclick="buttonClicked()">Añadir + numeros de telefono</button>
  6. </div>
  7.  
  8. <script type="text/javascript">
  9.  
  10. function buttonClicked(){
  11. var ixc=1;
  12.    var input = document.createElement('input');
  13.    input.type = 'text';
  14.    input.name = 'num'+ixc;
  15.    input.value = "721";
  16.    document.getElementById('numeros_telefono').appendChild(input);
  17. };
  18.  
  19. </script>
  20.  

Código
  1. $num1=$_POST['num1'];
  2. echo $num1;
  3.  

no manda nada al prueba.php es decir el php de arriba, no lo veis muy raro que no coja el var ixc me coje el value en el campo input pero no lo pasa al php, que esta sucediendo con input.name
En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: mostrar un numero nuevo de telefono al hacer click
« Respuesta #9 en: 11 Octubre 2015, 17:46 pm »

Algo así?:
http://jsfiddle.net/jaredwilli/tzpg4/4/
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines