Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654

    Script calendario con array nel form (e php)

    Ho trovato uno script di calendario, con data e ora, già pronta: in pratica permette di aprire un pop-up e di selezionare data e ora desiderata, che andrà come valore a un campo di input.

    Questo è il lato utente (il codice del calendario lo importo dall'esterno):

    Codice PHP:
    <form name="formData">


    [b]Data iniziale:[/b] <?php echo "<input type=\"Text\" name=\"data\" value=\"\">"?>
    <a href="javascript:show_calendar('document.formData.data', document.formData.data.value);">
    [img]779 cal.gif[/img]</a></p>
    </form>
    Come vedete il codice html è integrato con il php. Messo così lo script funziona perfettamente: il pop-up si apre e la data scelta s'inserisce nel campo "value" dell'input.
    Il problema è che io il nome dell'input devo metterlo sottoforma di array, perchè si trova all'interno di un ciclo in php che mostra diversi campi input con lo stesso nome. Ovvero:

    Codice PHP:
    <?php echo "<input type=\"Text\" name=data[] value=\"\">
    Problema: messo così, la pop-up del calendario non si apre. Il problema è il nome del campo input. Ho provato a mettere come nome "data[]", ma non lo prende.
    Qualcuno mi sa dire come posso risolvere?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    name="data[]"

    dovresti passare
    codice:
    show_calendar('document.formData.elements[\'data[]\'][0]', document.formData.elements[\'data[]\'][0].value);
    dove quello zero identifica il primo elemento con name="data[]" del form in questione

    dal momento che scrivi tutto il blocco via php non e' un problema tenere una variabile php come contatore e farlo scrivere nel richiamo alla funzione, in modo che il risultato sia
    codice:
    <a href="javascript:show_calendar('document.formData.elements[\'data[]\'][2]', document.formData.elements[\'data[]\'][2].value);">
    per il terzo e cosi' via

    P.s. leggi il codice premendo il tastino quote, perche' il forum rimuove in visualizzazione i backslash prima e dopo data[]

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Niente da fare... ho creato il codice secondo le tue indicazioni, ma ancora se clicco sul link dell'immagine il pop-up non appare
    Questo è il codice che risulta del secondo elemento, copiato dal sorgente della pagina:

    <label for="data">Data</label>

    <input type="text" name="data[]" value="24-10-2007 13:08:48"/>
    <a href="javascript:show_calendar('document.forMod.el ements['data[]'] [1]', document.forMod.elements['data[]'] [1].value);">
    [img]779 cal.gif[/img]</a>
    Vedi qualcosa di sbagliato? :master:

    PS: forMod è il nome del mio form

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.