Newsgroup: it.comp.lang.javascript
Titolo: inserire una variabile nel execCommand(SaveAs)

All interno di uno script è definita la variabile
"data".
Attraverso l' execCommand(SaveAs), voglio che il documento venga salvato
con il nome della variabile "data", in formato HTML.
HO SCRITTO:
writeln('<BODY onload="javascript:document.execCommand(\'SaveAs\',1,data
+ \'.html\');">');
dove data è : 
<script language="JavaScript">
var mydate=new Date();
var ora=mydate.getHours();
 ora = (ora<10)? '0'+ora:ora;
var minuti=mydate.getMinutes();
 minuti = (minuti<10)? '0'+minuti:minuti;
data=(dayarray[day]+", "+montharray[month]+" "+daym+ ", " +year+",
"+ora+':'+minuti)
</script>
NOn capisco come non mi si apre la finestra di SAVE AS.
sapreste aiutarmi?
grazie
silvia
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 sapreste aiutarmi?
Sotto Windows i nomi di file non possono contenere alcuni caratteri tra cui
":" che tu usi nella data.
P.S. nell'onload del body non hai bisogno di scrivere javascript:
Ciao

 sapreste aiutarmi?
Se non si apre la finestra vuol dire che c'è un errore nello script. Per
esempio, nel tuo script non trovo definite le variabili: dayarray,
montharray, day, month, daym, year. Sei sicura di averle definite.
Inoltre il nome del file che viene fuori non è valido perché ci sono
caratteri non ammessi, ad esempio "," e ":". Ma con questo la finestra si
deve aprire lo stesso, senza però visualizzare il nome del file.
Maurizio.

ho provato a sostituire lo script con questo, piu semplice, senza l ora.
E ho creato la funzione:
<SCRIPT LANGUAGE="JavaScript">
  test = new Date();
  month = test.getMonth();
  month = (month * 1) + 1;
  day = test.getDate();
  year = test.getFullYear();
  date= document.write(month +''+ year);
function saveme() {
document.execCommand("SaveAs","false","Report"+month+year+".html");
}
</SCRIPT>
Poi nell HTML ho scritto:
writeln('</HEAD><body Onload="saveme();">');
A me sembra giusto, ma non si apre ancora il SAVE AS.
Sapreste dirmi cosa c č di sbagliato?
grazie tante
Silvia


 grazie tante
A me sembra corretto e su IE6 funziona, ma non ho tempo adesso di provarlo
su altre macchine.
Mi si diceva altresě che il SaveAs aveva qualche problema su IE4 e IE5.0, ma
non li ho mai riscontrati.
A rigor di sintassi (ma vado a memoria) il secondo parametro, booleano, che
tu hai impostato a false dovrebbe essere true per far comparire l'eventuale
interfaccia. Ma, ripeto, su IE6 mi funziona comunque.
Prova ad eliminare stranezze tipo il date=document.write visto che stai
scrivendo nell'head, altrimenti ti consiglio un giro su msdn per verificare
possibili eccezioni e/o problemi.
Ciao

Non riesco a risolvere questo problema; 
ma potrei provare a girarci intorno.
Sapete se posso inserire all interno del nome del file, invece della
data,
un contatore?
Ciò mi servirebbe x ovviare al possibile pericolo che il cliente salvi
piu volte il Report e lo sovrascriva.
C è un modo x cambiare dinamicamente il nome del file, magari inserendo
un contatore nel SAVE AS?
sapreste aiutarmi con il codice?
grazie


 Sapreste dirmi cosa c è di sbagliato?
Manca "document." prima di writeln. Prova con:
    document.writeln('<body Onload="saveme();">');
o più semplicemente:"
    window.onload = saveme;
Maurizio.

 sapreste aiutarmi con il codice?
Posta i problemi che incontri.

NOn ho messo il document.
xè è scritto prima all interno di un WITH.
MA cmq non va , anche se la sintassi ègiusta.
E' possibile con un contatore?


 MA cmq non va , anche se la sintassi ègiusta.
Ripeto il mio consiglio. Prima elimina le stranezze.
Hai provato il codice in una pagina dove il body è già scritto e non
generato da js?
Quando scrivi nel document è buona norma aprirlo e chiuderlo:
document.open("text/html");
document.write(...);
document.close();

ho sistemato un po di cosette
Ora funziona...finalmente ....:)
Grazie a tutti
Silvia
