Show Menu
ARGOMENTI×

Domande frequenti per moduli HTML5

Sono presenti alcune domande frequenti sul layout, il supporto degli script e l'ambito dei moduli HTML5.

Layout

  1. Perché i codici a barre e i campi firma non vengono visualizzati nel modulo?
    Risposta: I campi per codici a barre e firme non sono pertinenti negli scenari HTML o mobili. Questi campi vengono visualizzati come area non interattiva. Tuttavia, in AEM Forms Designer è disponibile un nuovo campo di script per la firma che è possibile utilizzare al posto del campo firma. È inoltre possibile aggiungere un widget Creazione di un aspetto personalizzato nei moduli HTML5 personalizzato per i codici a barre e integrarlo.
  2. Il formato RTF è supportato per il campo di testo XFA?
    Risposta: Il campo XFA, che consente contenuti avanzati in AEM Forms Designer, non è supportato ed è rappresentato come testo normale senza il supporto per lo stile del testo dall'interfaccia utente. Inoltre, i campi XFA con proprietà comb vengono visualizzati come un campo normale, anche se esistono ancora delle limitazioni per il numero di caratteri consentiti in base al valore delle cifre comb.
  3. Esistono limitazioni per quanto riguarda l'uso di sottomoduli ripetibili?
    Risposta: I sottomoduli ripetibili devono avere un conteggio iniziale pari a 1 o più. I sottomoduli ripetibili con un conteggio iniziale pari a zero non sono supportati. È inoltre possibile scegliere di utilizzare un sottomodulo ripetibile e non visualizzarlo al caricamento del modulo. Per ottenere il caso di utilizzo:
    1. Impostare il conteggio iniziale del sottomodulo ripetibile su 1.
    2. Utilizzare l'evento initialize del modulo per nascondere l'istanza principale del sottomodulo. Ad esempio, il codice seguente nasconde l'istanza principale del sottomodulo all'inizializzazione del modulo. Controlla inoltre il tipo di app per garantire che lo script venga eseguito solo sul lato client:
      if ((xfa.host.appType == "HTML 5" || xfa.host.appType == "Exchange-Pro" || xfa.host.appType == "Reader")&&(_RepeatSubform.count == 1)&&(form1.Page1.Subform1.RepeatSubform.Key.rawValue == null)) {
      RepeatSubform.presence = "hidden";
      }
      
      
    3. Aprire lo script per l'aggiunta di un'istanza del sottomodulo per la modifica. Aggiungere il codice come illustrato di seguito per aggiungere un'istanza dello script Sottomodulo.
      Il codice seguente controlla l'istanza nascosta del sottomodulo. Se l'istanza nascosta del sottomodulo viene trovata, eliminare l'istanza nascosta del sottomodulo e inserire una nuova istanza del sottomodulo. Se l'istanza nascosta del sottomodulo non viene trovata, è sufficiente inserire una nuova istanza del sottomodulo.
      if (RepeatSubform.presence == "hidden")
      {
      RepeatSubform.instanceManager.insertInstance(0);
      RepeatSubform.instanceManager.removeInstance(1);
      }
      else
      {
      RepeatSubform.instanceManager.addInstance(1);
      }
      
      
    4. Aprire lo script per rimuovere un'istanza del sottomodulo per la modifica. Aggiungere il codice come segue per rimuovere un'istanza dello script Sottomodulo.
      Il codice verifica il conteggio dei sottomoduli. Se il conteggio del sottomodulo ha raggiunto 1, il codice nasconde il sottomodulo invece di eliminare il sottomodulo.
      if (RepeatSubform.instanceManager.count == 1) {
      RepeatSubform.presence = "hidden";
      } else {
      RepeatSubform.instanceManager.removeInstance(RepeatSubform.instanceManager.count - 1);
      }
      
      
    5. Aprire l'evento presubmit del modulo per la modifica. Aggiungete lo script seguente all'evento per rimuovere l'istanza nascosta dello script prima di modificarla. Impedisce l'invio dei dati del sottomodulo nascosto al momento dell'invio.
      if(RepeatSubform.instanceManager.count == 1 && RepeatSubform.presence == "hidden") {
      RepeatSubform.instanceManager.removeInstance(0);
      }
      
      
  4. Esistono limitazioni per quanto riguarda l'uso dei sottomoduli nascosti?
    Risposta: Un sottomodulo nascosto con una gerarchia complessa divisa tra le pagine causa problemi di layout. Una soluzione consiste nel contrassegnare il sottomodulo inizialmente visibile e nasconderlo in uno script di inizializzazione in base ad alcune logiche o dati.
  5. Perché alcuni elementi di testo vengono troncati o visualizzati in modo non corretto in HTML5?
    Risposta: Se a un elemento di testo Disegno o Didascalia non è stato assegnato spazio sufficiente per visualizzare il contenuto, il testo appare troncato nella rappresentazione del modulo per dispositivi mobili. Questo troncamento è visibile anche nella vista Progettazione di AEM Forms Designer. Anche se questo troncamento può essere gestito nei PDF, non può essere gestito nei moduli HTML5. Per evitare il problema, lasciare spazio sufficiente a Disegno o Didascalia testo in modo che non venga troncato in modalità di progettazione di AEM Forms Designer.
  6. Osservo problemi di layout relativi a contenuti mancanti o sovrapposti. Qual è la ragione?
    Risposta: Se nella stessa posizione è presente un elemento Disegna testo o Disegna immagine insieme a un altro elemento sovrapposto (ad esempio un rettangolo), il contenuto Disegna testo non è visibile se compare successivamente nell’ordine del documento (nella visualizzazione Gerarchia di AEM Forms Designer). PDF supporta la creazione di livelli trasparenti, ma HTML/browser non supportano la sovrapposizione dei livelli trasparenti.
  7. Perché alcuni font visualizzati nel modulo HTML sono diversi da quelli utilizzati per la progettazione del modulo?
    Risposta: I moduli HTML5 non incorporano i font (a differenza dei moduli PDF in cui i font sono incorporati nel modulo). Affinché il rendering della versione HTML del modulo sia eseguito come previsto, assicurarsi che i font specificati in XDP siano disponibili sul server e sul computer client. Se i font richiesti non sono disponibili sul server, vengono utilizzati i font di fall-back. Inoltre, se si utilizzano font nel modello di modulo non disponibili sul dispositivo client, per il rendering del testo vengono utilizzati i font predefiniti del browser.
  8. Gli attributi vAlign e hAlign sono supportati nei moduli HTML?
    Sì, gli attributi vAlign e hAlign sono supportati. L'attributo vAlign non è supportato in Internet Explorer e nel campo su più righe.
  9. I moduli HTML5 supportano i caratteri ebraici?
    I moduli HTML5 supportano i caratteri ebraici in tutti i browser, ad eccezione di Microsoft Internet Explorer.
  10. I moduli HTML5 presentano limitazioni per i campi numerici?
    Risposta: Sì, i moduli HTML5 presentano alcune limitazioni. Se il numero di cifre è superiore al conteggio specificato nella clausola illustrazione, i numeri non sono localizzati e vengono visualizzati in lingua inglese.
  11. Perché i moduli HTML hanno dimensioni maggiori rispetto ai moduli PDF?
    Per eseguire il rendering di un XDP in un modulo HTML, sono necessari numerosi oggetti e strutture di dati intermedi, ad esempio il DOM del modulo e il DOM dei dati.
    Per i moduli PDF, Adobe Acrobat dispone di un motore XTG integrato per la creazione di strutture e oggetti di dati intermedi. Acrobat si occupa anche di layout e script.
    Per i moduli HTML5, i browser non dispongono di un motore XTG integrato per creare strutture di dati intermedie e oggetti da byte XDP non elaborati. Pertanto, per i moduli HTML5, le strutture intermedie vengono generate sul server e inviate al client. Nel client, i motori di script e layout basati su JavaScript utilizzano queste strutture intermedie.
    Le dimensioni della struttura intermedia dipendono dalle dimensioni dell'XDP originale e dai dati uniti all'XDP.
  12. Esistono limitazioni per quanto riguarda l'utilizzo di tabelle nel mio xdp?
    Risposta: Tabelle complesse causano problemi durante il rendering.
    • La sezione (SubformSet) all'interno di una tabella non è supportata.
    • Le righe di intestazione o piè di pagina di alcune tabelle sono contrassegnate per la ripetizione. La suddivisione di tali tabelle in più pagine può causare problemi.
  13. Le tabelle con accesso facilitato presentano delle limitazioni?
    Risposta: Sì, le tabelle con accesso facilitato presentano le seguenti limitazioni:
    • Le tabelle e i sottomoduli nidificati all'interno di una tabella non sono supportati.
    • Le intestazioni sono supportate solo per la riga superiore o per le colonne sinistre della tabella. Le intestazioni non sono supportate per gli elementi della tabella centrale. È possibile applicare intestazioni a più intestazioni di riga e colonna, purché siano supportate tutte queste righe e colonne insieme alla riga o alla colonna più a sinistra della tabella.
    • Rowspan e colspan da una posizione casuale all'interno della tabella non è supportata.
    • Non è possibile aggiungere o rimuovere dinamicamente un'istanza di righe contenenti elementi con un valore di estensione di riga maggiore di 1.
  14. Qual è l'ordine di lettura della descrizione comandi e della didascalia per gli assistenti vocali?
    • Se sono presenti sia didascalie che descrizioni comandi, viene letta l’unica didascalia. Se la didascalia non è disponibile, la descrizione viene letta. È inoltre possibile specificare la precedenza per la lettura in un file XDP utilizzando la finestra di progettazione dei moduli
    • Quando passate il puntatore del mouse su un elemento, viene visualizzata la descrizione comandi. Se la descrizione comandi non è disponibile, viene visualizzato del testo vocale. Se il testo vocale non è disponibile, viene visualizzato il nome del campo.
  15. Quando si passa il puntatore del mouse su un campo, viene visualizzata una descrizione comandi. Come disattivarlo?
    Per disattivare la descrizione comandi al passaggio del mouse, selezionare Nessuna nel pannello di accessibilità di Designer.
  16. In Designer, un utente può configurare le proprietà di aspetto personalizzate dei pulsanti di scelta e delle caselle di controllo. Durante il rendering dei moduli, i moduli HTML5 prendono in considerazione tali proprietà di aspetto personalizzate?
    Risposta: I moduli HTML5 ignorano le proprietà di aspetto personalizzate dei pulsanti di scelta e delle caselle di controllo. I pulsanti di scelta e le caselle di controllo vengono visualizzati in base alle specifiche del browser sottostante.
  17. Quando un modulo HTML5 viene aperto in un browser supportato, il bordo dei campi inseriti in modo adiacente non viene allineato correttamente oppure i sottomoduli appaiono sovrapposti. Se in Forms Designer è disponibile l'anteprima dello stesso modulo HTML5, i campi e il layout non vengono visualizzati correttamente e i sottomoduli vengono visualizzati nella posizione corretta. Come risolvere il problema?
    Quando un sottomodulo è impostato per far fluire il contenuto e il sottomodulo ha un elemento di bordo nascosto, il bordo dei campi posizionati in modo adiacente non è allineato correttamente oppure i sottomoduli appaiono sovrapposti. Per risolvere il problema, è possibile rimuovere o commentare gli elementi nascosti <border> dall'XDP corrispondente. Ad esempio, il seguente elemento <border> è contrassegnato come commento:
                <!--<border>
                   <edge presence="hidden"/>
                   <corner thickness="0.175mm" presence="hidden"/>
                </border> -->
    
    
  18. Perché gli assistenti vocali non funzionano correttamente con l'oggetto campo Data/Ora?
    Gli assistenti vocali non supportano i campi data/ora. Tuttavia, è possibile inserire manualmente la data/ora nel campo per consentire all'assistente vocale di leggerlo. Utilizzare il testo descrittivo o dell'assistente vocale per indicare all'utente di selezionare manualmente la data e l'ora del campo.
  19. I moduli HTML5 supportano pattern di visualizzazione per i campi mobili?
    Risposta: I moduli HTML5 non supportano i pattern di visualizzazione per i campi mobili.

Scripting

  1. Esistono limitazioni nell'implementazione JavaScript per i moduli HTML?
    Risposta:
    • Il supporto per lo script xfa.connectionSet è limitato. Per connectionSet, è supportata solo la chiamata lato server del servizio Web. Per informazioni dettagliate, vedere Supporto script.
    • Non è supportato $record e $data negli script sul lato client. Tuttavia, se gli script sono scritti in un blocco formReady e layoutReady, gli script funzionano comunque perché questi eventi vengono eseguiti sul lato server.
    • Gli script XFA Draw specifici dell'elemento, come la modifica del testo Disegno (o del testo della didascalia nel caso di campi) non sono supportati.
  2. Esistono limitazioni nell'uso di formCalc?
    Risposta: Attualmente è implementato solo un sottoinsieme degli script formCalc. Per informazioni dettagliate, vedere Supporto script.
  3. Esistono convenzioni di denominazione consigliate e sono presenti parole chiave riservate da evitare?
    • In AEM Forms Designer, si consiglia di non iniziare il nome di un oggetto (ad esempio un sottomodulo o un campo di testo) con un carattere di sottolineatura (_). Per utilizzare il carattere di sottolineatura all'inizio del nome, aggiungete un prefisso dopo il carattere di sottolineatura, _<prefisso><nome oggetto>.
    • Tutte le API dei moduli HTML5 sono parole chiave riservate. Per le API/funzioni personalizzate, utilizzare un nome non identico alle API dei moduli HTML5 .
  4. I moduli HTML5 supportano i campi mobili?
    Sì, i moduli HTML5 supportano i campi mobili. Per abilitare i campi mobili, aggiungi la seguente proprietà al profilo di rendering:
    Per impostazione predefinita, i campi non sono attivati per il mobile. È possibile utilizzare Forms Designer per impostare la proprietà mobile dei campi.
    1. Aprite CRXde lite e individuate il /content/xfaforms/profiles/default nodo.
    2. Aggiungere una proprietà mfDataDependentFloatingField di tipo String e impostare il valore della proprietà su true .
    3. Fate clic su Salva tutto . Ora i campi mobili sono abilitati per i moduli HTML utilizzando il profilo di rendering aggiornato.
      Per abilitare i campi mobili per un modulo specifico senza aggiornare il profilo di rendering, passare la proprietà mfDataDependentFloatingField=true come parametro URL.
  5. I moduli HTML5 eseguono più volte lo script di inizializzazione e l’evento form ready?
    Sì, gli script di inizializzazione e gli eventi ready del modulo vengono eseguiti più volte, almeno una volta sul server e una volta sul lato client. È consigliabile scrivere script come eventi initialize o form:ready basati su una logica aziendale (dati modulo o campo) in modo che l'azione venga eseguita in base allo stato dei dati e all'importanza (se i dati sono identici).

Progettazione di XDP

  1. Nei moduli HTML5 sono presenti parole chiave riservate?
    Risposta: Tutte le API dei moduli HTML5 sono parole chiave riservate. Per le API/funzioni personalizzate, utilizzare un nome non identico alle API dei moduli HTML5 . Oltre alle parole chiave riservate, se si utilizzano nomi di oggetti che iniziano con un carattere di sottolineatura (_), è consigliabile aggiungere un prefisso univoco dopo il carattere di sottolineatura. L'aggiunta di un prefisso consente di evitare possibili conflitti con le API interne dei moduli HTML5. Esempio, _fpField1