in effetti non ho mai provato a "sparare" del codice dentro un elemento script creato dinamicamente e non so se sia possibile fare qualcosa di questo genere.
Ad ogni modo il problema potrebbe derivare dal fatto che nella terza riga stai usando innerHTML per un elemento che ancora non esiste a livello di DOM, quindi io proverei così
codice:
var oScript=document.createElement("SCRIPT");
oScript.setAttribute("id", num + '_script');
document.body.appendChild(oScript);
document.getElementById(num + '_script').innerHTML = "new Ajax.Autocompleter('testo["+num+"]', '"+num+"_complete', 'calcola-ajax.php', {}); ";
Ciao
Edit: oppure
codice:
var oScript=document.createElement("SCRIPT");
oScript.setAttribute("id", num + '_script');
oScript.innerHTML = "new Ajax.Autocompleter('testo["+num+"]', '"+num+"_complete', 'calcola-ajax.php', {}); ";
document.body.appendChild(oScript);