Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 46
Like Tree18Likes

Discussione: richiamare file con javascipt

  1. #1
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito richiamare file con javascipt

    salve a tutti
    nella index del templates ho inserito del codice per chiamare dei file.
    inserendo
    Codice:
    $document = &JFactory::getDocument();
    $document->addScript( '/media/system/js/alfa.js', "text/javascript", true, true);
    funziona

    dovendo richiamare anche altro file ho inserito
    Codice:
    $document = &JFactory::getDocument();
    $document->addScript( '/media/system/js/alfa.js', "text/javascript", true, true);
    $document->addScript( '/media/system/js/beta.js', "text/javascript", true, true);
    ma con questo codice non funziona il secondo file.

    Come dovrei modificare?
    Grazie a tutti in anticipo
    Ultima modifica di alemoppo : 04-02-2018 alle ore 22.58.41 Motivo: +tag [code]

  2. #2
    mzanella non è connesso AlterVistiano
    Data registrazione
    29-12-2015
    Messaggi
    923

    Predefinito

    Ad occhio sembra tu stia usando Joomla!, corretto?

    Dalla documentazione di addScript il metodo accetta due parametri, non quattro, quindi gli ultimi due true non dovrebbero esserci.

    A parte questo le chiamate sono corrette, verifica dunque che l'URL utilizzato per il secondo script sia corretto. In caso positivo, verifica che lo script stesso sia corretto: in base a cosa sostieni che non funzioni? Cosa ti aspetti di ottenere e cosa, invece, osservi?

    Non conosco Joomla!, ma se utilizza un qualche meccanismo di cache potrebbe anch'esso essere responsabile.
    segi likes this.

  3. #3
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    Grazie
    Si utilizzo Joomla
    Dovrei scrivere il codice nel seguente modo?
    $document = &JFactory::getDocument();
    $document->addScript( '/media/system/js/alfa.js', "text/javascript", true, true);
    $document->addScript( '/media/system/js/beta.js', "text/javascript", );

    Grazie ancora

  4. #4
    mzanella non è connesso AlterVistiano
    Data registrazione
    29-12-2015
    Messaggi
    923

    Predefinito

    Così:
    Codice:
    $document = &JFactory::getDocument();
    $document->addScript( '/media/system/js/alfa.js', "text/javascript");
    $document->addScript( '/media/system/js/beta.js', "text/javascript");
    ma questa era solo un'osservazione "sintattica", non è collegata al problema.
    segi likes this.

  5. #5
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    Appena riesco provo, grazie per il momento...
    Quello che sto cercando di ottenere è collegato al post stampare a video valore da dropdown
    Grazie ancora

  6. #6
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    ho provato ma non va...

    allora provo a ricapitolare:

    dal sito gestito con joomla ho creato un menu, con diversi sottomenu, ognuno dei quali con dei campi compilabili abbinati ad un file php.

    ho inserito al termine del form un link che apre il file php (alfa.php) abbinato dove vengono inseriti i valori dei campi.

    ad esempio per compilare il file alfa.php

    il nome del form è 1

    il file java alfa.js con il seguente codice

    jQuery(document).ready(function() {

    if(jQuery("form[name='form_1']") && jQuery("form[name='form_1']").next("p") && jQuery("form[name='form_1']").next("p").length == 1)
    jQuery.each(jQuery("form[name='form_1']").next("p").find("a"), function( index, value ) {
    jQuery(this).removeAttr("href");
    jQuery(this).css("cursor","pointer");
    jQuery(this).click(function(e){
    formSerialize = jQuery("form[name='form_1']").serialize();
    url = window.location.origin+'/file%20modelli/alfa.php?'+formSerialize;
    window.open(url, '_blank');
    e.preventDefault();
    return false;
    });
    });
    });

    Come da guida joomla nel file index del templates va aggiunto:

    $document = &JFactory::getDocument();
    $document->addScript( '/media/system/js/alfa.js', "text/javascript", true, true);
    inoltre è inserito un modulo di nome alfa.js il seguente codice
    <script src="/media/system/js/licenze.js" type="text/javascript" defer="defer" async="async"></script>
    assegnato al menu dove è presente il form

    in questo modo funziona.

    adesso ho creato un altro form, e dovrei crearni tanti altri, collegato al file beta.php e poi a tanti altri

    il nome del form è 2

    il file java con il seguente codice di nome beta.js

    jQuery(document).ready(function() {
    if(jQuery("form[name='form_2']") && jQuery("form[name='form_2']").next("p") && jQuery("form[name='form_2']").next("p").length == 1)
    jQuery.each(jQuery("form[name='form_2']").next("p").find("a"), function( index, value ) {
    jQuery(this).removeAttr("href");
    jQuery(this).css("cursor","pointer");
    jQuery(this).click(function(e){
    formSerialize = jQuery("form[name='form_2']").serialize();
    url = window.location.origin+'/file%20modelli/beta.php?'+formSerialize;
    window.open(url, '_blank');
    e.preventDefault();
    return false;
    });
    });
    });
    il modulo beta.js con il seguente codice
    <script src="/media/system/js/beta.js" type="text/javascript" defer="defer" async="async"></script>
    Pulisco la cache di joomla e del browser, ma il file beta.php, si apre correttamente, ma non viene compilato.

    Come potrei risolvere? sperando possa essere un sistema fattibile?
    quale potrebbe essere l'errore?
    Grazie a tutti
    Ultima modifica di segi : 05-02-2018 alle ore 16.31.22

  7. #7
    mzanella non è connesso AlterVistiano
    Data registrazione
    29-12-2015
    Messaggi
    923

    Predefinito

    C'è qualcosa di sbagliato nell'approccio.
    Il contenuto di alfa.js e beta.js è identico, cambiano solo il form di riferimento e l'URL della pagina da aprire.
    E prevedi di utilizzare molti altri nuovi script identici a questi.

    L'ideale è raggruppare tutti questi comportamenti analoghi sotto un'unica funzione (e di conseguenza un unico script).

    Questo di per sé non è il vero problema (e dunque quella proposta non è la vera soluzione ;)), ma è indice del fatto che il codice realizzato non è ben strutturato, di conseguenza anche andare a capire dove sia localizzata la fonte di errore è decisamente difficile.
    Molto meglio un buon refactoring.
    segi likes this.

  8. #8
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    Ti ringrazio, chi riesce ad aiutarmi a fare il refactoring???

  9. #9
    mzanella non è connesso AlterVistiano
    Data registrazione
    29-12-2015
    Messaggi
    923

    Predefinito

    Un primo refactoring quasi "automatico" consiste nell'accorpare i comportamenti comuni in un'unica funzione
    Codice:
    function foo(form_name, url) {
      var selector = "form[name='" + form_name + "']";
    
      if (!jQuery(selector) || !jQuery(selector).next("p") || !jQuery(selector).next("p").length == 1) {
        return false;
      }
    
      jQuery.each(jQuery(selector).next("p").find("a"), function (index, value) {
        jQuery(this).removeAttr("href");
        jQuery(this).css("cursor", "pointer");
        jQuery(this).click(function (e){
          formSerialize = jQuery(selector).serialize();
          window.open(url + '?' + formSerialize, '_blank');
          e.preventDefault();
          return false;
        });
      });
    }
    Codice:
    jQuery(document).ready(function() {
      foo("form_1", window.location.origin + '/file%20modelli/alfa.php');
      foo("form_2", window.location.origin + '/file%20modelli/beta.php');
      // etc...
    }
    Ma per un buon refactoring occorre sapere cosa il codice deve fare e perché. Leggendolo sembra che debba semplicemente inviare i dati di un form ad una pagina PHP, aprendo il risultato in una nuova scheda.

    Se è così l'intero JavaScript è inutile, basta impostare correttamente il form stesso:
    Codice HTML:
    <form name="form_1" action="......./alfa.php" target="_blank">
      ...
    </form>
    
    <form name="form_2" action="......./beta.php" target="_blank">
      ...
    </form>
    segi likes this.

  10. #10
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    Grazie davvero mzanella
    provo subito a mettermi al lavoro... spero di farcela...ma dubito

    il codice deve fare semplicemente come dici tu e cioe inviare i dati di un form ad una pagina PHP aprendo il risultato in una nuova scheda.
    Ultima modifica di segi : 06-02-2018 alle ore 18.28.31

  11. #11
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    perdonami mzanella

    provo a ricapitolare:

    alla fine di ogni singolo form c'è un link che apre il relativo file php (alfa, beta,....)

    dove all'interno c'è attualmente il seguente codice

    <?php
    function parsingFormData($data){
    //return gettype($data);
    if(is_array($data) && $data.length == 0)
    return "............................";
    if(is_null($data))
    return "...........................";
    else if(is_string($data) && strlen(trim($data)) == 0)
    return "...........................";
    else
    return $data;
    }
    ?>

    <body>

    <p style="text-align: left;">Il sottoscritto <span style="font-weight: bold;"><?php echo parsingFormData($_GET['a_alfa___cognome']); ?></span> <span style="font-weight: bold;"><?php echo parsingFormData($_GET['a_alfa___nome']); ?></span> Comune di Nascita <span style="text-align: right"><strong><?php echo parsingFormData($_GET['a_alfa___comunenascita']); ?></strong></span> P

    </body>
    </html>
    come dovrei posizionare il nuovo codice da te creato?
    Grazie ancora

  12. #12
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    buongiorno a tutti,
    ho provato a sostituire la function foo all'inerno dei file php, ma sembra non funzionare.
    Come dovrei procedere?
    Grazie ancora a tutti

  13. #13
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    ciao a tutti,
    qualcuno di buon anima mi darebbe un aiuto prezioso a sistemare il codice?

    Grazie in anticipo di cuore a tutti

  14. #14
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    Ciao a tutti, cercando di capire come risolvere, faccio presente che il form non posso toccarlo in quanto è generato con il componente fabrik di Joomla.
    Come poter risolvere?
    Grazie a tutti

  15. #15
    mzanella non è connesso AlterVistiano
    Data registrazione
    29-12-2015
    Messaggi
    923

    Predefinito

    Perdona l'attesa,
    ho riletto i vari messaggi sia in questa discussione che nell'altra ("stampare a video valore da dropdown").

    Ci sono alcune cose che non mi sono ancora chiare, in primis qual'è lo scopo di tutto e quale il punto di partenza.

    Hai alcuni form che non puoi modificare (in quanto creati da un componente di Joomla!), ognuno dei quali invia dei dati ad una pagina, e vorresti stampare (o comunque elaborare) questi dati nella pagina di destinazione.
    Corretto?

    Il problema qual'è a quale livello sussiste, esattamente?
    • durante l'invio di un form?
    • durante il recupero di dati in una pagina di destinazione?
    • durante l'elaborazione dei dati, dopo averli letti?
    segi likes this.

  16. #16
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    Grazie Mzanella della disponibilità e professionalità.

    lo scopo è quello di poter arrivare a stampare dei pdf partendo da un form (per ogni form un pdf)

    I form sono creati attraverso il componente fabrik di joomla. (lo stesso offre la possibilità di creare dei pdf, ma anche attraverso il loro forum, non riesco a modificare.)

    Cosi alla fine di ogni form ho inserito un link che richiama un file php che attraverso javascript, come descritto nei post iniziali, riuscendo a creare la stampa a video e successivamente salvare in pdf.

    Inserendo piu form c'e il problema della stampa a video.

    Poi attraverso il tuo refactoring si potrebbe arrivare alla soluzione.

    Ma non riesco.

    quindi l'obiettivo che vorrei raggiungere è il seguente:
    - da ogni form, quindi dai valori presenti nei campi, inserirli nei punti specifici all'interno del file php e poi generare il pdf.

    Grazie ancora

  17. #17
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    dimenticavo...
    posto il link d'esempio dove poter verificare
    - http://www.plabruzzo.it/index.php/richiesta-licenze funziona correttamente
    - http://www.plabruzzo.it/index.php/permesso-orario non funziona, eppure la prima volta che ho cretao funzionanva, poi di colpo non piu

    Grazie ancora

  18. #18
    mzanella non è connesso AlterVistiano
    Data registrazione
    29-12-2015
    Messaggi
    923

    Predefinito

    Ok, ora è più chiaro, grazie anche ai link che hai mostrato .

    Riepilogo la situazione un'ultima volta per confermare che sia tutto corretto:
    • hai dei form generati da un componente
    • ogni form ha un id univoco
    • vorresti che i valori di ciascun form fossero inviati ad una specifica pagina PHP
    • la relazione tra gli id dei form e le pagine a cui inviare i dati è fissata a priori(ad es. il form con id "form_2" deve inviare a "stampa_richieste.php", quello con id "form_3" a "stampa_permesso_orario2.php")
    • anziché un normale pulsante, utilizzi un link da te generato per indicare di inviare i dati del form

    Una questione non ancora specificata è se vuoi che i dati dei form siano inviati tramite POST (come è indicato in quelli ad ora generati dal componente Joomla!), oppure tramite GET (come stai facendo al momento tramite il codice JavaScript). La differenza nei codice tra le due versioni è minima, basta saperlo. Per praticità assumo che vada bene utilizzare POST.

    Il metodo più semplice è indicare a ciascun form che dovrà inviare i dati alla pagina PHP da te indicata. Poiché non puoi modificare il codice dei form, questo andrà fatto tramite JavaScript.
    Il secondo passo consiste nell'indicare che i dati di ciascun form andranno inviati quando il link da te indicato sarà premuto.
    Sia il form che il link saranno identificati dai loro attributi id. I form ne sono già provvisti, ai link dovrai aggiungerli tu.

    Essendo due operazioni molto semplici, è ragionevole accorparle in un'unica funzione JavaScript:
    Codice:
    function redirectFormSubmit(form_id, action_url, button_id) {
      $('#' + button_id).click(function(e) {
        $('#' + form_id).attr('action', action_url)
                        .attr('target', '_blank')
                        .submit();
            
        e.preventDefault();
        return false;
      });
    }
    questa funzione andrà salvata in un file JavaScript ed inclusa in tutte le pagine nelle quali sono presenti uno o più form di quelli che intendi gestire.
    La funzione fa sì che, quando l'elemento il cui id è button_id viene cliccato, il form avente id form_id invia i propri dati alla pagina il cui indirizzo è action_url. Quest'ultimo può essere indicato come assoluto oppure relativo, esattamente allo stesso modo in cui imposteresti il campo action di un form.
    Il tipo di richiesta effettuata è lo stesso indicato nel form, in questo caso POST (se hai necessità di usare GET si può modificare).
    Per includere questa funzione nelle pagine puoi usare $document->addScript in maniera analoga a quanto hai fatto fin'ora.

    Dopodiché, in ciascuna di queste pagine, dovrai invocare la funzione redirectFormSubmit per indicare link, form e pagina di destinazione da mettere in relazione.
    Ad esempio, nella pagina http://www.plabruzzo.it/index.php/permesso-orario, il codice da utilizzare sarà:
    Codice:
    $(function() {
      redirectFormSubmit('form_3', '/file%20modelli/stampa_permesso_orario2.php', 'link_3');
    });
    // NOTA: Non dimenticare di assegnare prima un id al link!
    Non conoscendo Jommla!, non so quale sia il metodo "preferito" per inserire un frammento di script in una pagina, ma ce ne sarà sicuramente almeno uno.

    Infine si tratta solo di sistemare le pagine PHP, che già sembrano andare bene.
    Unico appunto, la funzione parsingFormData è corretta, ma un po' ridondante. Puoi sostituirla con questa:
    Codice PHP:
    function parsingFormData($name$source null) {
        
    $source is_array($source) ? $source $_POST;
        
    $data = isset($source[$name]) ? $source[$name] : null;
        return (
    is_string($data) && strlen($data) > 0) ? $data "..........";

    Nel codice la potrai invocare come:
    Codice HTML:
    <p style="text-align: left;">
      Il sottoscritto
      <span style="font-weight: bold;"><?php echo parsingFormData('a_alfa___cognome', $_POST); ?></span>
      <span style="font-weight: bold;"><?php echo parsingFormData('a_alfa___nome', $_POST); ?></span>
      Comune di Nascita
      <span style="text-align: right">
        <strong><?php echo parsingFormData('a_alfa___comunenascita', $_POST); ?></strong>
      </span>
    </p>
    Questo è il quadro generale. È piuttosto lungo, ma è più facile a farsi che a non a dirsi. Se hai problemi chiedi pure!
    segi likes this.

  19. #19
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    Speriamo sia l'ultima volta 😀😀😀
    Mi metto subito all'opera...
    Grazie ancora...

  20. #20
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    ciao mzanella,
    intanto grazie ancora per la disponibilità...
    procedo per step partendo dalle cose semplici, cercando di stampare a video il file permesso partendo dal form con id 3:
    nel file stampa_permesso.php ho inserito il seguente codice e sembra funzionare:
    <?php
    function parsingFormData($name, $source = null) {
    $source = is_array($source) ? $source : $_POST;
    $data = isset($source[$name]) ? $source[$name] : null;
    return (is_string($data) && strlen($data) > 0) ? $data : "..........";
    }
    ?>
    <body>
    <p style="text-align: left;">
    Il sottoscritto
    <span style="font-weight: bold;"><?php echo parsingFormData('a_permesso_orrio___cognome', $_POST); ?></span>
    <span style="font-weight: bold;"><?php echo parsingFormData('a_permesso_orrio___nome', $_POST); ?></span>
    Comune di Nascita</p></body>
    </html>
    ho creato il file funzione_redirectFormSubmit.js inserito nel percorso /templates/theme3092/js/ funzione_redirectFormSubmit.js con il seguente codice
    function redirectFormSubmit(form_id, action_url, button_id) {
    $('#' + button_id).click(function(e) {
    $('#' + form_id).attr('action', action_url)
    .attr('target', '_blank')
    .submit();

    e.preventDefault();
    return false;
    });
    }
    che viene richiamato da un modulo joomla di nome funzione_redirectFormSubmit presente nelle pagine dove sono presenti i forms, attraverso il codice

    <script src="/templates/theme3092/js/funzione_redirectFormSubmit.js" type="text/javascript"></script>
    nella index del templates come indicato dal link http://www.extrowebsite.com/blog/col...erno-in-joomla
    <?php
    defined('_JEXEC') or die;
    $document = &JFactory::getDocument();
    $document->addScript( '/media/system/js/funzione_redirectFormSubmit.js'," text/javascript", true, true); include_once ('includes/includes.php');
    ?>
    ho creato un file funzione_form_3.js nel percorso /templates/theme3092/js/ con il seguente codice
    $(function() {
    redirectFormSubmit('form_3', '/file%20modelli/stampa_permesso_orario2.php', 'link_3');
    });
    // NOTA: Non dimenticare di assegnare prima un id al link!
    che viene richiamato da un modulo joomla di nome funzione_redirectFormSubmit presente nelle pagine dove sono presenti i forms, attraverso il codice
    <script src="/templates/theme3092/js/funzione_form_3.js" type="text/javascript"></script>
    Ho provato ma il risultato non si ottiene.
    Come faccio ad aggiungere al link l’ID e il button_ID?
    Forse dipende da qui il non corretto funzionamento ?
    Grazie ancora
    Ultima modifica di segi : 11-02-2018 alle ore 22.15.25

  21. #21
    mzanella non è connesso AlterVistiano
    Data registrazione
    29-12-2015
    Messaggi
    923

    Predefinito

    Come faccio ad aggiungere al link l’ID e il button_ID?
    Forse dipende da qui il non corretto funzionamento ?
    Sì, quello è uno dei passi, ed ogni passo è fondamentale.
    Come hai inserito il link che stai già utilizzando? Verosimilmente, qualunque sia il metodo da te utilizzato, deve esserci la possibilità di specificare attributi come l'id. Se l'hai inserito a mano in HTML ancora più semplice...

    Il button_id (parametro formale della funzione) coincide con l'id che assegnerai al link. Si chiama button_id anziché link_id perché stai usando un link come se fosse un button di invio, ma è solo questione di nomi.
    segi likes this.

  22. #22
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    Grazie

    ho inserito li link con questo codice
    <a href="file%20modelli/stampa_permesso_orario2.php" target="_blank" rel="noopener noreferrer">link_3</a></p>
    apre correttamente il file php, ma non inserisce i campi

    dovrei inserire un where?

  23. #23
    mzanella non è connesso AlterVistiano
    Data registrazione
    29-12-2015
    Messaggi
    923

    Predefinito

    Basta specificare un attributo id per quel link:
    Codice HTML:
    <a id="link_3" rel="noopener noreferrer">link_3</a>
    Non hai bisogno di indicare target e href, ma puoi lasciarli se vuoi.
    segi likes this.

  24. #24
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    Grazie ancora
    ho provato, ma non va
    senza href come prende il link?

  25. #25
    mzanella non è connesso AlterVistiano
    Data registrazione
    29-12-2015
    Messaggi
    923

    Predefinito

    Il link ora è corretto, piuttosto ho notato (guardando una delle pagine) che per qualche motivo la "sintassi breve" di jQuery è disabilitata. Non me l'aspettavo :)

    Per risolvere bisogna modificare i JavaScript sostituendo "$()" con "$jQuery()":
    Codice:
    function redirectFormSubmit(form_id, action_url, button_id) {
      jQuery('#' + button_id).click(function(e) {
        jQuery('#' + form_id).attr('action', action_url)
                        .attr('target', '_blank')
                        .submit();
            
        e.preventDefault();
        return false;
      });
    }
    e
    Codice:
    jQuery(document).ready(function() {
      redirectFormSubmit('form_3', '/file%20modelli/stampa_permesso_orario2.php', 'link_3');
    });
    senza href come prende il link?
    Semplice: non lo "prende" affatto :)
    E non deve prenderlo: ciò che vuoi ottenere è che, cliccando sul link, venga inviato un form ed il risultato aperto in un'altra pagina. Non vuoi che il click del link ti porti direttamente in un'altra pagina.
    segi likes this.

  26. #26
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    ciao mzanella
    davvero non avrei mai pensato di poter sostituire la funzione del link

    grazie davvero di cuore, adesso sembra funzionare.

    per ultimare qauesto form sto provando a cercare di far stampare gli array delle ore e minuti.

    con il vecchio codice con chiamata in GET i valori venivano passati correttamente con questo codice:

    <p style="text-align: left;">di poter usufruire del permesso orario dalle ore <span style="font-weight: bold;">
    <?php echo parsingFormData($_GET['a_permesso_orrio___dalle_ore'][0]); ?>
    </span>:<span style="font-weight: bold;">
    <?php echo parsingFormData($_GET['a_permesso_orrio___dalle_ore'][1]); ?>
    ho provato, a visualizzare qualche guida e a sostituire il $GET con $POST ma sembra non funzionare.

    Come dovrei scrivere

    Grazie ancora
    Ultima modifica di segi : 13-02-2018 alle ore 08.49.23

  27. #27
    mzanella non è connesso AlterVistiano
    Data registrazione
    29-12-2015
    Messaggi
    923

    Predefinito

    Non avevo notato che ore e minuti fossero passate usando array :)

    Stando così le cose, suggerirei di sostituire la funzione parsingFormData che ti avevo indicato precedentemente con questa:
    Codice PHP:
    function parsingFormData($data) {
        return (
    is_string($data) && strlen($data) > 0) ? $data "..........";

    La sintassi da usare diventa quindi:
    Codice HTML:
    <p style="text-align: left;">
      Il sottoscritto
      <span style="font-weight: bold;"><?php echo parsingFormData($_POST['a_alfa___cognome']); ?></span>
      <span style="font-weight: bold;"><?php echo parsingFormData($_POST['a_alfa___nome']); ?></span>
      Comune di Nascita
      <span style="text-align: right">
        <strong><?php echo parsingFormData($_POST['a_alfa___comunenascita']); ?></strong>
      </span>
    </p>
    Nel caso degli orari:
    Codice HTML:
    <?php echo parsingFormData($_POST['a_permesso_orrio___dalle_ore'][0]); ?>
    A seconda di cosa hai utilizzato potresti dover sostituire $_POST con $_GET.
    segi likes this.

  28. #28
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    ciao Mzanella,
    come sempre grazie in anticipo...
    dopo varie ore, di testa tra le mani, torno nuovamente qui nel forum, sperando di non arrecare disturbo...
    ho riordinato un po il sito per cercare di essere piu trasparente possibile per poter rendere l'obiettivo da raggiungere ed evitare di far perdere tempo a chi potrebbe aiutarmi.

    nel sito ci saranno tanti form e per ognuno una lista con tutti i record generati da poter essere richiamati e stampare in pdf.

    il primo form, con tutti i moduli e codici (permesso orario) funziona.

    il secondo form (licenze varie) l'ho creato con la stessa procedura (ho creato soltanto il file js funzione_form_2 il e il file php stampa_licenze_varie, lasciando invariato il file funzione_redirectFormSubmit e la dicitura inserita nella index del templates
    $document = &JFactory::getDocument();
    $document->addScript( '/media/system/js/funzione_redirectFormSubmit.js'," text/javascript", true, true);.
    per comodità ho lasciato la visualizzazione del titolo dei moduli joomla nei form


    Inoltre ho inserito il menu Liste che offre la possibilità di richiamare i record inseriti, modificarli e stamparli in pdf.

    I forms in prima battuta funzionano, però poi quando viene richiamato il record non riesce ad aprire il link del file php.

    Spero non occorra un refactoring totale

    Ps: sentito libero di contattarmi in privato.

    Grazie per la tua disponibilità e professionalità.

  29. #29
    mzanella non è connesso AlterVistiano
    Data registrazione
    29-12-2015
    Messaggi
    923

    Predefinito

    Il problema quasi certamente è nel file stampa_licenze_varie.php, prova a riportarne il codice :)
    segi likes this.

  30. #30
    segi non è connesso Utente giovane
    Data registrazione
    05-10-2017
    Messaggi
    43

    Predefinito

    ciao mzanella

    non dovrebbe dipendere dal file stampa_licenze_varie.php, in quanto funziona http://www.plabruzzo.it/index.php/licenze-varie; posto ugualmente il codice presente.
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <?php
    function parsingFormData($data) {
    return (is_string($data) && strlen($data) > 0) ? $data : "..........";
    }
    ?>

    <body>
    <p style="text-align: left;">
    Il sottoscritto
    <span style="font-weight: bold;"><?php echo parsingFormData($_POST['a_licenza___cognome']); ?></span></p>
    </body>
    </html>
    Il problema viene riscontrato dal menu Liste che offre la possibilità di richiamare i record inseriti, modificarli e stamparli in pdf.

    ad esempio il form http://www.plabruzzo.it/index.php/li...rario/form/3/1 richiamato dalla lista, in alto nel percorso è indicato il numero del forms (3) e il numero del record (1) se poi clicchiamo su genera pdf non apre il file php.


    Grazie ancora...
    Ultima modifica di segi : 15-02-2018 alle ore 09.15.06

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •