Newsgroup: it.comp.lang.javascript
Titolo: Anteprima da form

Credo che si debba fare con javascript, per cui scrivo qui.
 
Ho un form con alcuni campi di testo e radio.
Nei campi possono essere inserite delle semplici espressioni matematiche o 
formule chimiche
(ad es. H2O viene convertito poi con il 2 al pedice, (expr)^[expr.] diventa 
una potenza, ecc.)
 
Vorrei introdurre la possibilità di avere una anteprima di quanto digitato, 
in modo da controllare
se la conversione ha avuto l'effetto desiderato.
 
Potrebbe essere una popup o una div sottostante ai campi che appare sliding.
 
E' possibile farlo senza salvare il modulo, senza spostarsi dalla pagina, 
operando
le conversioni suddette tramite regex?
 
 
-- ciao!
 
...nixs.................................................................
nixs.lucchetto.@lagirandola.it
 
togli la ".SERRATURA." per scrivermi
........................................................................
L'uomo non smette di giocare perché invecchia,
ma invecchia perché smette di giocare.
(George Bernard Shaw)
 

 le conversioni suddette tramite regex?
 
Si certamente. Ma dipende tutto dai dati che hai e dal loro formato.
Mi chiedo però come mai non usi / hai usato MathML o qualche libreria di
astrazione tipo MathJax (
http://www.mathjax.org/
).

astrazione tipo MathJax (
http://www.mathjax.org/
).
 
ho fatto già ricerche e ci sarebbe una grossa limitazione: l'utente dovrebbe
scrivere con Tex o LaTex, cosa praticamente impensabile nel mio caso.


 scrivere con Tex o LaTex, cosa praticamente impensabile nel mio caso.
 
Non mi pare:
 
 
http://cdn.mathjax.org/mathjax/2.0-latest/test/sample-asciimath.html
 
 
Ovviamente rimane la parte della notazione chimica, quella nel caso
dovresti smazzartela da solo.

dovresti smazzartela da solo.
 
una cosa per volta! :-)


Ah! Mo' provo! ;-)
 
ho provato! Nel senso che l'ho installato, ho eseguito il test incluso e 
sembra installato correttamente.
Ma mo' come lo uso?
Se ho capito lo spirito e per vedere l'anteprima, devo prelevare il testo 
dal campo testo, e passarlo
(in che modo?) a MathJax (e dove?).


sembra installato correttamente.
 
si, funziona proprio! Scrivendo direttamente nell'html un'equazione me la 
traduce correttamente
ma... (GULP!) ci mette una vita! Praticamente 5-7 secondi.


 ma... (GULP!) ci mette una vita! Praticamente 5-7 secondi.
 
Boia, nell'esempio che ti ho dato sul mio computer č quasi istantaneo.
Ci mette 5-7 secondi anche in quell'esempio? Oppure nel tuo caso hai
formule piů complesse?

formule più complesse?
 
figuriamoci! Questa: <p>\[a=(x^2+b^3-c)/((x+y)/(a-b))\]</p>
Cronometrati esattamente 7 secondi!
 
Può essere che si debba configurare meglio, ma, intanto,
ragioniamo un po' sulla preview, ti va?


 ragioniamo un po' sulla preview, ti va?
 
Se ci mette 7 secondi ha senso parlare della preview?

Se ci mette 7 secondi ha senso parlare della preview?
 
ma NON DEVE metterci 7 secondi :-)


 ma NON DEVE metterci 7 secondi :-)
 
Appunto, quindi è QUESTA la prima cosa di cui parlare. Se non è
possibile risolverla non ha senso andare oltre no?

pagine di esempio? Cosa fai di diverso?
 
vattelappesca!
 
Ma da quanto ho letto il problema non è solo mio.
http://groups.google.com/group/mathjax-users/browse_thread/thread/5520cf1e54a63c89/a71ecbe62d234683
 
http://sourceforge.net/projects/mathjax/forums/forum/948701/topic/3837971
 
http://meta.math.stackexchange.com/questions/1323/slow-processing-different-look-to-math-processing-problem-with-fonts-is-it-me
 


Risolto!!!
 
In pratica MathJax va alla ricerca dei Web-Fonts, se non li trova usa quelli
in forma di immagine che ha nelle cartelle sue.
Disabilitando i Web-Fonts, ponendo webFont=null nel file di config, dove 
dice:
 
//
    //  This is the web-based font to use when none of the fonts listed
    //  above are available on the user's computer.  Note that currently
    //  only the TeX font is available in a web-based form.  Set this to
    //
    //      webFont: null,
    //
    //  if you want to prevent the use of web-based fonts.
    //
    webFont: null,
 
Lo si costringe ad usare di default i propri font, e quindi risolvere 
l'equazione
scritta in meno di mezzo secondo!
 
Ok, ora possiamo pensare alla preview, che dici :-)))


 
http://meta.math.stackexchange.com/questions/1323/slow-processing-different-look-to-math-processing-problem-with-fonts-is-it-me
 
 
Mi sembra tu sia sulla buona strada, almeno per capire come risolvere la
cosa. Pare sia scritto tutto là. Io non sono un utente (né tanto meno
sviluppatore) di tale libreria quindi non posso aiutarti più di questo;
non mi sembra esista comunque un modo per avere formule matematiche
cross-browser diverso da questo.
 
Certo, se le tue formule si limitassero a potenze, addizioni,
moltiplicazioni, e sottrazioni forse potresti farne a meno. Ma immagino
che ci siano anche divisioni (frazioni), eventuali parentesi, eccetera.
In quel caso la vedo dura visualizzare le formule matematiche solo con
HTML senza avere il font adeguato.

 Ok, ora possiamo pensare alla preview, che dici :-)))
 
Come sempre, prima prova a fare qualcosa, se poi non ne cavi le zampette
scrivi sul newsgroup i tentativi fatti, il codice usato, e i problemi
riscontrati, e vediamo come risolvere la cosa.

HTML senza avere il font adeguato.
 
l'idea è quella di scrivere cose semplici.
In pratica sto sviluppando un sistema di test di verifica per la scuola 
(sono un insegnante... e non ridere! :-)),
quindi sono quesiti in stile "nell'equazione data scegli tra le proposte il 
termine che manca" oppure
"bilancia la seguente reazione chimica scegliendo dalla selectbox il 
coefficiente corretto".
 
Ah... a proposito, anche per la chimica MathJax va alla grande!
Basta scrivere:
2H_2O -> 2H_2 + O_2
 
per avere le formule scritte correttamente!
 
Un problemuccio, da quanto ho letto è l'uso di caratteri html, che il 
browser
interpreta PRIMA di MatJax, per cui a<b non va bene, o si scrive a < b 
oppure
si sostituisce il < con il codice.


cross-browser.
 
Beh... la prova sarebbe il messaggio che viene fuori dopo i 7 secondi:
"Web-Fonts not available -- using image fonts instead"
 
Mentre se nel config metto al posto di webFont: "TeX"
webFont: null funziona senza strani messaggi se non quelli di esecuzione.
