Esempio Online 1 Anteprima (sola lettura)
Sorgente PHP: examples/text/text.php
Sorgente XML: examples/text/text.xml
Esempio Online 2 Anteprima (sola lettura)
Sorgente PHP: examples/text/autocomplete.php
Sorgente XML: examples/text/auticomplete.xml
Sfruttando alcuni dei suoi attributi è possibile ottenere diverse modalità di funzionamento.
La text supporta la formattazione ed il controllo dell'input inserito dall'utente:
POPOLARE LA TEXT
Inserimento manuale dei dati:
<idtag typeobj="text" label="\nText:" value="valoretext"/>
In alternativa la text può essere popolata da un ds, gli attributi in gioco sono:
- dsobj: attributo contenete il nome del ds da cui prelevare i dati
- dsitem: attributo contenete il nome del campo da contenete i dati da visualizzare
<idtag typeobj="text" label="\nText:" dsobj="dsname" dsitem="campotext" />
TEXT COME CAMPO PASSWORD
Nel caso in cui si voglia usare la text per l'inserimento di password basta utilizzare l'attributo password
<idtag typeobj="text" password="true" .......... />
TEXT COME CALENDARIO
Impostando nell'attributo format una stringa per la formattazione della data, l'oggetto visualizzerà il calendario alla pressione del mouse.
<idtag typeobj="text" format="date|IT|dd/mm/yyyy|IT|dd/mm/yyyy" ............ />
TEXT AUTOCOMPLETE
Impostando nell'attributo dsobjlist e dsitemlist si attiva la modalità autocomplete e si comunica all'oggetto la fonte dati utilizzata per completare i valori digitati. Impostando l'attibuto dssearch si imposta la query per il filtraggio dei dati. E' possibile utilizzare nel dssearch il 'TAG $$ID_xxx$$ per includere il valore istantaneo di un altro oggetto della pagina.
<idtag typeobj="text" dsobjlist="ds1" dsitemlist="tabella" dssearch="`campo` LIKE '$$VALUE$$%'" ............ />
TEXT PER L'UPLOAD DI FILE
L'oggetto text può essere anche utilizzato per l'upload di file da parte dell'utente. Gli attributi sono:
- fileupload: attributo booleano per l'abilitazione dell'upload
- rewrite: true sovrascrive il file se già presente, false non lo sovrascrive e rename assegna un'altro nome
- target: attributo opzionale per specificare un eventuale frame di destinazione su cui inviare il post.
- directory: attributo che specifica la path di destinazione dei file da uplodare (di default è la directory corrente), viceversa bisogna indicare il path relativo a partire dalla "DocumentRoot"(esempio se voglio memorizzare il file /var/www/appl/documents e la mia DocumentRoot = " /var/www" bisognerà mettere directory="/appl/documents/").
Per intercettare l'evento di upload del file bisogna inserire nel file php:
<?php
function html_load()
{
global $event;
$code = "
function upload_posted()
{
alert('File Inviato: ' + TEXT.objposted.value);
}
SYSTEMEVENT.addAfterCustomFunction('TEXT', 'AfterPost', 'upload_posted');
";
$event->setCodeJs($code);
}
?>
Problemi nell'upload dei files
1. Tutti gli upload verso il server web possono essere disabilitati tramite costante, per maggiori informazioni vedi costanti.
2. La directory di destinazione specificata non esiste/errata o comunque il servizio web non ha i permessi per scrivere al suo interno.
3. Per evitare il caricamento della pagina dopo l'upload il post viene effettuato su un iframe fittizio, in fase di debug per intercettare eventuali errori potrebbe essere utile impostare il target="framenonesistente" cos' da visualizzare l'errore.
Esempio 1
<?php
/**
* PHP Source File
* @author Alyx Association <info@alyx.it>
* @version 1.0
* @copyright Alyx Association 2008-2010
* @license GNU Public License
*/
require_once("./../../class/system.class.php");
$system = new ClsSystem(true);
$xml = new ClsXML("text.xml");
$event = new ClsEvent($xml);
$event->managerRequest();
function html_load()
{
global $event;
$code = "
function upload_posted(send)
{
if(send) alert('File Inviato: ' + TEXT.objposted.value);
}
SYSTEMEVENT.addAfterCustomFunction('TEXT', 'AfterPost', 'upload_posted');
";
$event->setCodeJs($code);
}
?>
Esempio 2
<?php
/**
* PHP Source File
* @author Alyx Association <info@alyx.it>
* @version 1.0
* @copyright Alyx Association 2008-2010
* @license GNU Public License
*/
require_once("./../../class/system.class.php");
$system = new ClsSystem(true);
$xml = new ClsXML("autocomplete.xml");
$event = new ClsEvent($xml);
$event->managerRequest();
?>
Esempio 1
<?xml version="1.0" encoding="utf-8"?>
<jamp>
<page typeobj="page" title="JAMP - Esempio text" icon="../../favicon.ico" loaddata="true">
<ds1 typeobj="ds" conn="conn6" dstable="dock" dskey="id"/>
<tabs1 typeobj="tabs" width="770px" height="520px" selected="tab1" align="left">
<tab1 typeobj="tab" label="ANAGRAFICA">
<text1 typeobj="text" labelwidth="150px" label="Text Semplice:" value="valoretext"/>
<text2 typeobj="text" labelwidth="150px" label="Text con DS:" dsobj="ds1" dsitem="name" />
<text3 typeobj="text" labelwidth="150px" label="Password:" value="password" password="true" />
<text40 typeobj="text" labelwidth="150px" label="Clicca sulla Data:" format="date|IT|dd/mm/yyyy HH:ii:ss|IT|dd/mm/yyyy HH:ii:ss" value="$$DATETIME$$" />
<text41 typeobj="text" labelwidth="150px" label="Clicca sulla Data:" format="date|IT|dd/mm/yyyy|IT|dd/mm/yyyy" value="$$DATE$$" />
<text5 typeobj="text" labelwidth="150px" label="Upload:" fileupload="true" />
</tab1>
</tabs1>
</page>
</jamp>
Esempio 2
<?xml version="1.0" encoding="utf-8"?>
<jamp>
<page typeobj="page" title="JAMP - Esempio text" icon="../../favicon.ico" loaddata="true">
<ds1 typeobj="ds" conn="conn6" dstable="CAB-COMUNE" dsorder="DENOMINAZIONE_COMUNE" dslimit="10" loadall="false"/>
<ds2 typeobj="ds" conn="conn6" dstable="colori" dsorder="colore" dslimit="10" loadall="false"/>
<text1 typeobj="text" label="\nComune:\n" dsobjlist="ds1" dsitemlist="DENOMINAZIONE_COMUNE" dssearch="`DENOMINAZIONE_COMUNE` LIKE '%$$VALUE$$%'"/>
<label1 typeobj="label" value="CLICCA QUI' PER TOGLIERE IL FOCUS"/>
<text2 typeobj="text" label="\n\nComune con ricerca dopo il terzo carattere:\n" dsobjlist="ds1" dsitemlist="DENOMINAZIONE_COMUNE" dssearch="`DENOMINAZIONE_COMUNE` LIKE '$$VALUE$$%'" minsearch="3"/>
<text3 typeobj="text" label="\nColori con salvataggio delle nuove voci inserite alla perdita del focus:\n" dsobjlist="ds2" dsitemlist="colore" dssearch="`colore` LIKE '$$VALUE$$%'" savesearch="true"/>
</page>
</jamp>
›› REFERENCE XML - TEXT
Oggetto: TEXT
<nome typeobj="text" attribute="valore".../>
Attributi:
debug
Attiva il debug dell'oggetto.
Valori consentiti: true,false
Valori di default: false
onclick
Codice associato all'evento onclick.
ondblclick
Codice associato all'evento ondblclick.
onmousedown
Codice associato all'evento onmousedown.
onmouseup
Codice associato all'evento onmouseup.
onmouseover
Codice associato all'evento onmouseover.
onmousemove
Codice associato all'evento onmousemove.
onmouseout
Codice associato all'evento onmouseout.
onkeypress
Codice associato all'evento onkeypress.
onkeydown
Codice associato all'evento onkeydown.
onkeyup
Codice associato all'evento onkeyup.
class
Nome della classe di stile utilizzata dall'oggetto.
style
Proprietà di stile.
lang
Specifica il codice della lingua utilizzata.
dir
Direzione del testo:
- LTR da sinistra a destra(default).
- RTL da destra a sinistra.
template
Nome del template utilizzato dall'oggetto, se non specificato viene utilizzato quello di sistema.
title
Informazioni aggiuntive visualizzate al passaggio del mouse sull'oggetto istanziato.
keypress
Consente di filtrare i caratteri
blur
Consente di validare il testo digitato durante l'evento onblur.
minlength
Cosente di specificare la lunghezza minima del testo.
name
Nome dell'oggetto.
value
Vedi TAG VALUE
Valore dell'oggetto.
defaultvalue
Valore di default dell'oggetto.
size
Dimensione dell'oggetto.
maxlength
Numero massimo di caratteri accettati.
alt
Testo alternativo.
src
URL immagine.
align
Allineamento orizzontale.
Valori consentiti: left,center,right
accesskey
Assegna un tasto per accedere all'oggetto.
onfocus
Codice associato all'evento onfocus.
onselect
Codice associato all'evento onselect.
onblur
Codice associato all'evento onblur.
onchange
Codice associato all'evento onchange.
tabindex
Indice di tabulazione.
id
Nome univoco dell'oggetto.
Valori di default: text
password
Nasconde il testo digitato.
Valori consentiti: true,false
fileupload
Consente l'upload dei file.
Valori consentiti: true,false
rewrite
Modalità di sovrascrittura del file uplodato
Valori consentiti: true,false,rename
Valori di default: 1
target
Destinazione degli URL da aprire.
directory
Path delle immagini.
Valori di default: /jamp/doc/
dsobj
ID dell'oggetto datasource associato.
label
Etichetta dell'oggetto.
labelalign
Allineamento etichetta rispetto all'oggetto
Valori consentiti: left,right
Valori di default: left
labelwidth
Larghezza dell'etichetta.
labelstyle
Stile associato all'etichetta.
csscalendar
Css usato per il calendario.
classcalendar
Classe css usata per il calendario.
format
Vedi Formattazione
Style di formattazione.
java
Nome del/dei file javascript usati dall'oggetto.
Valori di default: text.js, regexp.js, format.js
cssfile
Nome del file css usato dall'oggetto.
dsitem
Nome del campo datasource associato.
disabled
Disabilita l'oggetto
Valori consentiti: true,false
readonly
Oggetto in sola lettura.
Valori consentiti: true,false
dsobjlist
ID del datasource usato per popolare la select.
dsitemlist
Nome del campo usato per popolare la select.
dssearch
Sintassi da usare per la ricerca es: `cognome` LIKE '$$VALUE$$%'
minsearch
In modalità autocomplete consente di specificare il numero minimo di caratteri prima di edeguire la richiesta dei dati.
savesearch
In modalità autocomplete consente di memorizzare i valori non presenti nella ricerca.
Valori di default: false
›› Elenco dei metodi Javascript intercettabili dall'utente:
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("TEXT","setDsValue", "User function"); Function parameters: function(obj,value)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("TEXT","checkDsValue", "User function"); Function parameters: function(obj)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("TEXT","getDsValue", "User function"); Function parameters: function(id)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("TEXT","refreshObj", "User function"); Function parameters: function(id)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("TEXT","postObj", "User function"); Function parameters: function(id)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("TEXT","AfterPost", "User function"); Function parameters: function(ris,mes,newfilename)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("TEXT","AutoComplete", "User function"); Function parameters: function(e,obj)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("TEXT","selectRow", "User function"); Function parameters: function(objname,pre,pos)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("TEXT","hideValues", "User function"); Function parameters: function(obj)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("TEXT","lostFocus", "User function"); Function parameters: function(e,obj)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("TEXT","showValues", "User function"); Function parameters: function(obj)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("TEXT","selectValue", "User function"); Function parameters: function(id,value)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("TEXT","setDsValue", "User function"); Function parameters: function(obj,value)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("TEXT","checkDsValue", "User function"); Function parameters: function(obj)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("TEXT","getDsValue", "User function"); Function parameters: function(id)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("TEXT","refreshObj", "User function"); Function parameters: function(id)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("TEXT","postObj", "User function"); Function parameters: function(id)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("TEXT","AfterPost", "User function"); Function parameters: function(ris,mes,newfilename)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("TEXT","AutoComplete", "User function"); Function parameters: function(e,obj)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("TEXT","selectRow", "User function"); Function parameters: function(objname,pre,pos)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("TEXT","hideValues", "User function"); Function parameters: function(obj)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("TEXT","lostFocus", "User function"); Function parameters: function(e,obj)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("TEXT","showValues", "User function"); Function parameters: function(obj)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("TEXT","selectValue", "User function"); Function parameters: function(id,value)
›› Note fornite dagli utenti