JavaScript - Mandar array javascript a php o mysql

 
Vista:
Imágen de perfil de Emilio
Val: 22
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Mandar array javascript a php o mysql

Publicado por Emilio (7 intervenciones) el 28/12/2020 21:51:43
Buenas a todos. Soy nuevo por aqui.
Mi problema es el siguiente:
Tengo un test en linea, y cuando el usuario hace click en la opción deseada A B C o D, a través de una función en javascript almacena los valores de elección de usuario en un arrayLetras.
A través del DOM siu consigo que cada vez que el usuario clicke se inserte un nuevo elemento en el array citado. Lo puedo visualizar en pantalla don un innerHtml.
Mi problema viene cuando intento acceder a los elementos de ese arrayLetras. Ni consigo pasarlo por Get po Post a php, ya que sólo me lee el array en el principio, cuando aún está vacío.
Tampoco consigo insertar esos valores del array en una tabla mysql.
He4 probado varias opciones, y el problema siempre parece el mismo, si consigo acceder a valores del array si los introduco a la hora de declarar el array, pero nunca a los elementos que se van almacenando con el array.push.
Agradecería una ayudita. Gracias de antemano

1
2
3
4
5
6
7
8
9
var arrayLetras=[];
 
<div onlcick='mandarLetraA(letA)'>A</div>
<div id="elegida">00</div>
 
function mandarLetraA(letA){
		arrayLetras.push(letA);
		document.getElementById("elegida").innerHTML = arrayLetras;
}

Como digo, si sevisualizan las letras en el div tras el innerHTML.
Pero
¿Como acceder a los valores de arrayLetras para pasarlos a php o insertarlos en mysql? (me sirva cualquiera de las dos cosas).
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Emilio
Val: 22
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Mandar array javascript a php o mysql

Publicado por Emilio (7 intervenciones) el 29/12/2020 11:36:33
Gracias Joel.
Ya hyabia probado ese código. Va muy bien.
Pero ahí el array está ya con los elementos insertados

1
var arrayJS=["casa","coche","moto"];

Así me funciona.
Paro el array que yo inicializo var arrayLetras[]; está vacío cuando carga la página del servidor, y se va llenando con el array.push. Y ahí es cuando ya me deja de funcionar.
Quizá tenga que ver con el tiempo de ejecución, el lugar donde tengo el script. No sé. Llevo atascado varios días con lo de poder acceder a los valores de ese arrayLetras.

Intentar´`e explicarmke mejor.
tengo un test, donde el usuario puede clickar en A, B, C, D.
E$n cada elemento hay un
1
<div onlcick='mandarLetra(let)'>A</div>

y la funcion

1
2
3
4
5
6
7
function mandarLetra(let){
 
		arrayLetras.push(let);
 
		document.getElementById("elegida").innerHTML = arrayLetras;
 
}

Soy capaz de acceder al arrayLetras, pero sólo me devuelve los valores de su inicio. No soy capaz de acceder a los elementos que se van insertando en el array.
Aunque sí los visualizo en pantalla con
1
<div id="elegida">00</div>

Gracias a quien lee esto. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Mandar array javascript a php o mysql

Publicado por joel (895 intervenciones) el 29/12/2020 11:54:46
Hola Emilio, es que creo que esta linea esta mal:
1
<div onlcick='mandarLetra(let)'>A</div>
si let es el valor que quieres enviar, lo tienes que poner entre comillas... algo así:
1
<div onlcick="mandarLetra('let')">A</div>

De esta manera la función mandarLetra recibe la cadena "let"

Puede ser ese el problema?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Emilio
Val: 22
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Mandar array javascript a php o mysql

Publicado por Emilio (7 intervenciones) el 29/12/2020 12:24:26
Gracias de nuevo.
No es ese el problema. ya te digo que si va la función y almacena los valores que le mando con var = let.
Ya te digo que si consigo con el innerHTML visualizar en pantalla esos elementos del array conforme se van insertando con el push.
Si los visualizo, pero no sé como acceder a ellos cuando ya están todos los elementos insertados para pasarlos a php con el método que me indicaste.
Con ese método sólo me paso el array en el momento en que lo inicializo, en principio vacio, y ya porobe a poner elementos en el array de inicio, y esos elementos si consigo pasarlos a php, pero no tengo manero de acceder a los elementos de ese array que se van insertando con el push.
Loquito me tiene el tema...jajajja.
Gracias. saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Mandar array javascript a php o mysql

Publicado por joel (895 intervenciones) el 29/12/2020 14:02:26
pero como que no tienes manera de acceder... en cualquier momento puedes llamar a la variable arrayLetras, no??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Emilio
Val: 22
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Mandar array javascript a php o mysql

Publicado por Emilio (7 intervenciones) el 29/12/2020 15:57:41
Pues no. Sólo me pasa los elementos qu8e tiene al inicializar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Mandar array javascript a php o mysql

Publicado por joel (895 intervenciones) el 29/12/2020 17:35:12
No puede ser...

Nos puedes mostrar el código entero??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Emilio
Val: 22
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Mandar array javascript a php o mysql

Publicado por Emilio (7 intervenciones) el 29/12/2020 18:42:08
Gracias de nuevo.
Tengo un template-genera-tests.php.
Ahí inicializo el array:

1
<script>var arrayLetras=['op', 'rup'];</script>

En ese mismo template, más adelante, hago un require a a respuestas.php, donde están las opciones a clickar.

1
<div onclick='mandarLetraA(letA)'>

En un archivo .js enlazado está el javascript que respoinde al onclick

1
2
3
4
function mandarLetraA(letA){
		arrayLetras.push(letA);
		document.getElementById("elegida").innerHTML = arrayLetras;
		}

En el template está también el html del div con el id elegida

1
<div id="elegida">00</div>

En este div si se van actualizando los elementos del arrayLetras, como enseñaré en la imagen final.

Pero, por ejemplo, con este script ya sólo me salen los dos elementos de la inicialización del array.

1
2
3
4
5
6
7
8
9
<script>
 
      function implode(array){
      var imploded=array[0];
      for (i=1; i<array.length; i++)imploded += '|' + array[i];
      return imploded
      }
      alert(implode(arrayLetras))
 </script>


y lo mismo con el método que me recomendaste en la primera respuesta.


wepro

En la imagen se muestra una captura de pantalla donde se muestra lo que explico.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Mandar array javascript a php o mysql

Publicado por joel (895 intervenciones) el 29/12/2020 19:54:31
Con lo que me comentas, no puedo simularlo... seguramente si lo haces manual sin el template, todo te funciona correctamente...

He hecho este simple ejemplo para que lo pruebes... veras como si funciona correctamente!!! simplemente copialo en un archivo con extension .html y abrelo con un navegador.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="utf-8">
  </head>
  <body>
    <div onclick="mandarLetraA('A')">A</div>
    <div onclick="mandarLetraA('B')">B</div>
 
    <p onclick="mostrarLetras()">Mostrar Letras</p>
   </body>
</html>
 
<script>
var arrayLetras=[];
 
function mandarLetraA(letA){
    console.log(letA)
    arrayLetras.push(letA);
}
function mostrarLetras() {
    alert(arrayLetras);
}
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Emilio
Val: 22
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Mandar array javascript a php o mysql

Publicado por Emilio (7 intervenciones) el 29/12/2020 21:25:30
Muchisimas gracias.
Creo que el problema debe ser, que corro el template en wordpress, y no me hace bien el post de pagina.php.

Tu código me funciona, y añadiéndole el código del enlace de tu primera respuesta ya consigo pasar la variable. Ahora a ver como manejo esto para implementarlo en mi código.

Un par de preguntas:
data es justo la salida del codigo de pagina.php?
las variables o el array de pagina.php los puedo utilizar en el archivo.html?

Un placer. saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Mandar array javascript a php o mysql

Publicado por joel (895 intervenciones) el 30/12/2020 08:00:01
Hola Emilio, su primera pregunta no se muy bien a que te refieres... pero la segunda "las variables o el array de pagina.php los puedo utilizar en el archivo.html?" la respuesta es si, si las pasas a javascript. Directamente de PHP no las puedes utilizar, ya que PHP se ejecuta en el servidor y la pagina html en el navegador.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Emilio
Val: 22
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Mandar array javascript a php o mysql

Publicado por Emilio (7 intervenciones) el 30/12/2020 21:56:53
Gracias de nuevo Joel.
Ya he conseguido implementar el código en mi aplicación. Ahora intenteré grabar esos datos en php, o alguna solución que se me ocurra.
Es que apenas controlo un par de cosas de javascript, de ahí que no sepa referirme a las dudas que tengo.
En fin, me has sido de muchisima ayuda.
Saludos cordiales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar