entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

como arreglo function Split?

Hola a todos, estimados, tengo un multiple DatePicker que selecciona varias fechas y puede hacerlo de manera discontinua, las fechas seleccionadas se almacena (todas las que seleccionas) en un div 'resultado' separados por comas. Quisiera poder guardarlos en una base de datos para lo cual debería realizar un script con la function split para separarlos de manera individual (ya que el paso que sigue sería comparar con la fecha actual y mostrar una imagen almacenada) pero no logro resolver el código del script para separar las fechas de manera individual.
Parte del código...

$.datepicker.setDefaults($.datepicker.regional['es']);
$(function () {
$('#datepicker').multiDatesPicker({
    altField: '#altField'
});
});

function capturar()
    {

        // Obtenemos e valor por el número de elemento

var porElementos=document.forms["form1"].elements[0].value;

        // Obtenemos el valor por el id

 var porId=document.getElementById("altField").value;
           document.getElementById( "resultado" ).innerHTML=" \ Lo almacena en 'rersultado' (todo junto: 21/05/2017, 12/05/2017, 15/07/2017)
            "+porId;      
    }

//Intente con este código pero no me funciona...*Este es mi Inconveniente.

function separar()
    {
        var fechas=document.getElementById("altField").value;

document.write(fechas + "<br>" + "<br>");
var expresionRegular = /\s*;\s*/;
var listaFechas = fechas.split(expresionRegular);

document.getElementById("resux").innerHTML=" \   //Aquí intento guardar las fechas en el div “resux”
"+fechas; 

 document.write('listaFechas');
}
</script> 

- <form id="form1">

           <div id="datepicker" align="center">
          <input type="text" id="altField" name="saveDate_cp" width="45"placeholder="Ingrese Fechas">
           </div>
          <br>       
      </form>
      <br>
     <div> 
     <input type="button" id='A'value="SELECCIONADO" onclick="capturar()">
      <div id = "resultado"  ></div>
    </div>
  <div id = "resux" > </div>
  </body>

Espero puedan ayudarme, desde ya Muchas Gracias.

Leonardo-Tadei comentado May 11

Y por qué querés procesar la fecha en JavaScript, en vez de enviar todo al servidor y que sea PHP quien procese y valide???

Onill comentado May 11

Antes que nada gracias por contestar.
Leo,el múltiple-datepicker que uso me almacena varias fechas en un mismo div, para poder enviarlos al servidor me falta extraer las fechas de manera individual e allí veo mi problema. No se como enviar todos los datos y que se separen de manera automática en una tabla por usuario de manera directa.
Uso este Múltiple-datepicker porque se pueden seleccionar varias y distintas fechas a la vez y el tipo de funcionalidad es lo que me sirve.
Gerko23 estoy intentando crear un array con el método split(javascript)para poder procesarlo con php, pero no consigo dar con la tecla por tal motivo solicité ayuda.
Me gusta programar e intento aprender,les agradezco de todas maneras la intención de guiarme en los procesos y los puntos de vistas que se pueden tener.

Alex_Numpaque comentado May 12

No se si estoy mal pero mirando el código almacenas los valores usando como separador , y en el regex los separas por ; no deberia ser var expresionRegular = /\s,\s/;

2 Respuestas

2votos

gerko23 Puntos1870

Hola @Onill te saria mas facil crear un array y almacenarlo de esa manera luego lo procesas con PHP y esto te resuelve el problema o enviale todo el form a PHP y resuelves con PHP que es una opcion bastante buena

Onill comentado May 12

Correcto, busque el código que he mostrado y trate de adaptarlo, pero no está bien, he tratado de resolverlo pero mis escasos conocimientos me impiden modificarlo para que funcione.
Podrias darme una mano para modificarlo? Muchas Gracias.

2votos

Leonardo-Tadei Puntos211150

Hola @Onill,

si el código JS que tenés te está poniendo bien las fechas en un DIV, lo más simple sería enviar el contenido de ese DIV como parte del formulario para procesarlo directamente en PHP.

Si el DIV que almacena las fechas tiene por ID "resultado", bastaría lo siguiente:

Agregar a tu FORM un input para enviar los datos de las fechas:

...
<form id="form1" action="tuscript.php" method="post">
   <input type="hidden" name="fechas" id="fechas">
   <div id="datepicker" align="center">
...

Luego en tu función JS capturar(), pasar los datos al input y enviar todo:

function capturar()
{
  // pasa el contenido del DIV al input
  document.getElementById('fechas').value = document.getElementById('resultado').innetHTML
  // envia el formulario
  document.getElementById('form1').submit();
}

Luego con los datos recibidos por POST en el script PHP, lo podrás procesar con explode(), validar con checkdate(), etc.

Saludos cordiales

Onill comentado May 14

Muchísimas Gracias Sr. Leonardo y a todos lo que aportaron, de inmediato lo pongo en práctica.

Leonardo-Tadei comentado May 18

Y @Onill ? Cómo te fue?

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Actividad Reciente

¿Eres Usuario Apple?

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta