Problema:
ho una pagina html con al suo interno svariati form (non so a priori quanti)
al caricamento della pagina (in pratica al window.onload) devo scrivere "al volo" un evento onsubmit senza cancellare quelli eventualmente già scritti da codice.
cioè io vorrei che l'attributo onsubmit="pippo()" diventasse al volo onsubmit="pippo();RecuperaTesto()"
Per adesso l'unica soluzione che ho trovato (e che funziona solo se il form è uno solo) è di scrivere l'intera funzione RecuperaTesto() nella funzione ScriviOnsubmit()
Per di più mi cancella quello che già c'era scritto nell'onsubmit
siccome di javascript non ci capisco una mazza non riesco ad uscirne...
Riporto il codice per chiarezza :
window.onload = function ScriviOnsubmit() {
document.forms[0].onsubmit = function RecuperaTesto(){
var oggetti;
var testo="";
oggetti= document.getElementsByTagName("object");
i=0;
while(i < oggetti.length) {
if(oggetti.item(i).type=="application/x-xstandard"){
if (oggetti.item(i).getAttribute("id")){
testo=oggetti.item(i).id;
}
j=i+1;
xhtmlinput="xhtml"+j;
alternate="alternate"+j;
i++;
try {
if(typeof(document.getElementById(testo).EscapeUnicode) == 'undefined') {
throw "Error"
} else {
document.getElementById(testo).EscapeUnicode = true;
document.getElementById(xhtmlinput).value = document.getElementById(testo).value;
}
}
catch(er) {
document.getElementById(xhtmlinput).value = document.getElementById(alternate).value;
}
}
}
}
}
ho una pagina html con al suo interno svariati form (non so a priori quanti)
al caricamento della pagina (in pratica al window.onload) devo scrivere "al volo" un evento onsubmit senza cancellare quelli eventualmente già scritti da codice.
cioè io vorrei che l'attributo onsubmit="pippo()" diventasse al volo onsubmit="pippo();RecuperaTesto()"
Per adesso l'unica soluzione che ho trovato (e che funziona solo se il form è uno solo) è di scrivere l'intera funzione RecuperaTesto() nella funzione ScriviOnsubmit()
Per di più mi cancella quello che già c'era scritto nell'onsubmit
siccome di javascript non ci capisco una mazza non riesco ad uscirne...
Riporto il codice per chiarezza :
window.onload = function ScriviOnsubmit() {
document.forms[0].onsubmit = function RecuperaTesto(){
var oggetti;
var testo="";
oggetti= document.getElementsByTagName("object");
i=0;
while(i < oggetti.length) {
if(oggetti.item(i).type=="application/x-xstandard"){
if (oggetti.item(i).getAttribute("id")){
testo=oggetti.item(i).id;
}
j=i+1;
xhtmlinput="xhtml"+j;
alternate="alternate"+j;
i++;
try {
if(typeof(document.getElementById(testo).EscapeUnicode) == 'undefined') {
throw "Error"
} else {
document.getElementById(testo).EscapeUnicode = true;
document.getElementById(xhtmlinput).value = document.getElementById(testo).value;
}
}
catch(er) {
document.getElementById(xhtmlinput).value = document.getElementById(alternate).value;
}
}
}
}
}