Ir para conteúdo
Fórum Script Brasil
  • 0

Salvar formulario automaticamente "quase resolvido"


adrieldri

Pergunta

Bom eu tenho um formulario ou uma pagina basica escrito apenas meu nome entre as tags body

e tenho uma funçãosinha q salva o documento q é utilizando a document.execCommand("SaveAs",true,nome);

só q eu gostaria q salvasse automaticamente no local em q eu escolher sem pergunta pro usuario como faço isso?

<html>
<head>
<script language="JavaScript">
var isReady = false;
function doSaveAs(){
if (document.execCommand){
if (isReady){document.execCommand("SaveAs");}
}else{
}
}
</script>
</head>
<body onload="isReady=true">
<a href="java script:doSaveAs()">
 salvar </a>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Cara, não sei se dá pra fazer isso...

Afinal, mesmo que seja possível, como você vai saber que o cliente possui essa pasta no computador ??

Obs.:

Postei um script parecido aqui no fórum

Só lembrando: Essa função que você utilizar só funciona no Internet Explorer

Qualquer coisa, posta aí !

Link para o comentário
Compartilhar em outros sites

  • 0
mas não da o ok final sozinho

Creio que seja impossível, pelo menos com o comando document.execCommand

Esse comando serve justamente para abrir a tela "Salvar Como" (como o próprio nome já diz)

Além disso, não existe um comando no navegador "salvar automaticamente", apenas o "salvar como"

Obs.:

Se achar outra função, posto aqui !

Link para o comentário
Compartilhar em outros sites

  • 0

é eu também to achando q seria impossivel nem um save somente sem o as eu consseguir dar

porem eu preciso disso pra termina meu trampo

e tinha q ser realmente sem pergunta pro usuario pois a pagina atualizara em 10 e 10 segundos

é pagina para um hospital e para manipular funcionarios :(

sera q não tem outro jeito ?

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo, não tenho o IE pra testa, mas vê se funciona.

<html>
    <head>
    <script>
        var fso, f1;
        fso = new ActiveXObject("Scripting.FileSystemObject");
        // Get a File object to query.
        f1 = fso.GetFile("c:\\detlog.txt");   
        // Print information.
        Response.Write("File last modified: " + f1.DateLastModified); 
    </script>
    </head>

    <body>
        asd
    </body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Ei, que linguagem você está utilizando ???

FileSystemObject (ou FSO, como preferir) é em ASP (Active Server Pages)

Não funciona no navegador apenas, é uma linguagem de lado servidor !

Mesmo assim, não tenho certeza de que resolveria, pois esse código irá salvar o valor no servidor em que o script está sendo exeutado, não no cliente !

Link para o comentário
Compartilhar em outros sites

  • 0
Ei, que linguagem você está utilizando ???

FileSystemObject (ou FSO, como preferir) é em ASP (Active Server Pages)

Não funciona no navegador apenas, é uma linguagem de lado servidor !

Mesmo assim, não tenho certeza de que resolveria, pois esse código irá salvar o valor no servidor em que o script está sendo exeutado, não no cliente !

Amigo, você testou? eu não testei pois uso linux com FF.

Segue 2 links falando que funciona para IE:

http://msdn.microsoft.com/en-us/library/2z9ffy99(VS.85).aspx

http://www.webreference.com/js/column71/7.html

Se quiser, procura no google assim : "javascript ActiveXObject("Scripting.FileSystemObject")" tem mais gente falando que funciona.

Link para o comentário
Compartilhar em outros sites

  • 0

Opa agradeço a ajuda vou testar seus codigos sim

então o objetivo seria q a pempresa em q eu trabalho faz paginas para hospitaisn na intranet deles dentro de um servidor nossa q envia essa mensagens para pagers, e o o objetivo é poder salvar o conteudo da pagina pra poder ter historico de mensagens

Desculpa eu ser um pouco leigo no assunto to codigo o qual você passou porem eu naop tendi o que ele faz pois ele apenas abriu minha tela escrito asd e eu uso o ie

Link para o comentário
Compartilhar em outros sites

  • 0

Dei até uma olhada naqueles link's que você passou...

Fiquei até assustado !

O site da MSDN colocando código de "Response.Write" e dizendo que é JavaScript

Aquele código ali é uma mistura de JavaScript e VBScript

Mesmo assim, estou fazendo um código agora pra manipular esse arquivo e jajá posto aqui !

Link para o comentário
Compartilhar em outros sites

  • 0

Consegui fazer um script aqui

Dá uma olha

<script LANGUAGE="JavaScript">
<!--
var fso = new ActiveXObject("Scripting.FileSystemObject");
arquivo = fso.OpenTextFile("arquivo.txt", 2, true)
/*
Esplicando o código
    O primeiro argumento da função indica o nome do arquivo
    O segundo argumento indica que ele o modo como ele está aberto (somente leitura, leitura e escrita, [...])
    O terceiro argumento indica que se o arquivo não existir será criado automaticamente (no caso de estar como verdadeiro)
    Também existe um quarto parâmetro, que indica a formatação do arquivo (padrão, unicode ou ascii), mas resolvi deixar como default
*/
conteudo = "este é apenas um teste !"
arquivo.Write(conteudo)
arquivo.close

-->
</SCRIPT>

Se funcionar, posta aí !

Obs.:

Só funciona no IE

Foi testando e rodou perfeitamente, mas talvez você tenha que fazer alguma configuração nos computadores em que vai utilizar para permitir esse tipo de controles

Link para o comentário
Compartilhar em outros sites

  • 0

oh bom código vou mecher um pouco nele cara mas é bem por ai q eu quero mesmo eu jogeui ele numa função e coloquei um botao e fiz ele pegar o conteudo da variavel q eu quero eu só vou termina aki de arruma o codigo já posto pra você dar uma olhada

e des de já obrigado mesmo pela ajuda

Bom deixei mais ou menos do jeito q eu keria mesmo porem só falta mais uma ajudinha sera q não seria pedir muito?

1 - os arquivos serem salvos num especifico lugar

2 - Sera q não teria como não sobrepor o arquivo (digamos qeu envie uma mensagem sohn q depois eu keria enviar a segunda e ela va para de baixo da primeira sera q da pra fazer )

estou postando o que eu fiz aki pra ve se você pode me ajudar

<html>
<head>
<script LANGUAGE="JavaScript">
<!--
function teste(){
var fso = new ActiveXObject("Scripting.FileSystemObject");
arquivo = fso.OpenTextFile("arquivo.txt", 2, true)
/*
Esplicando o código
    O primeiro argumento da função indica o nome do arquivo
    O segundo argumento indica que ele o modo como ele está aberto (somente leitura, leitura e escrita, [...])
    O terceiro argumento indica que se o arquivo não existir será criado automaticamente (no caso de estar como verdadeiro)
    Também existe um quarto parâmetro, que indica a formatação do arquivo (padrão, unicode ou ascii), mas resolvi deixar como default
*/
mensagem = "nome " + document.tesando.nome.value + " Mensagem " + document.tesando.texto.value;
conteudo = mensagem;
arquivo.Write(conteudo)
arquivo.close
}
-->
</SCRIPT>
</head>

<body>
<form name="tesando">
<input type="button" value="teste"  onclick="teste()">
<table>
<tr>
<td>
nome</td><td> <input type ="text" name="nome" value=""></td>
</tr>
<tr>
<td>
Mensagem </td> <td> <textarea name="texto" rows="6" cols="20"></textarea></td>
</tr>
</table>
</form>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0
1 - os arquivos serem salvos num especifico lugar
Infelizmente não consegui !

Tenta fazer:

arquivo = fso.OpenTextFile("C:\\arquivo.txt", 8, true) //O 8 significa que também tem permissão para criar o arquivo
Testei aqui e não funcionou, deve ser alguma configuração do IE que não deixa !
2 - Sera q não teria como não sobrepor o arquivo (digamos qeu envie uma mensagem sohn q depois eu keria enviar a segunda e ela va para de baixo da primeira sera q da pra fazer )
Sim ! Você teria que utilizar a função "WriteLine"
arquivo.WriteLine("minha primeira linha")
arquivo.WriteLine("minha segunda linha")

Espero ter ajudado !

Link para o comentário
Compartilhar em outros sites

  • 0

Hum em kestao de usar o writeline mesmo q atualize a pagina ele conssegue escrever no mesmo arquivo já criado?

porque esse botao vai enviar mensagem para um pager e atualiza a mesmo pagina eu já fiz um arquivinho aki sera q você não poderia me ajuda a fazer ess aparte do wrioteline vo posta o codigo já um pouco mudado

<html>
<head>
<script LANGUAGE="JavaScript">
<!--
function teste(){

now=new Date();
mes = now.getMonth();
dia = now.getDay();
var mesescrito;


if(mes == 0)
{
mesescrito = "Janeiro";
}
else if (mes == 1)
{
mesescrito = "Fevereiro";
}

else if (mes == 2)
{
mesescrito = "Março";
}

else if (mes == 3)
{
mesescrito = "Abril";
}

else if (mes == 4)
{
mesescrito = "Maio";
}

else if (mes == 5)
{
mesescrito = "junho";
}

else if (mes == 6)
{
mesescrito = "Julho";
}

else if (mes == 7)
{
mesescrito = "Agosto";
}

else if (mes == 8)
{
mesescrito = "Setembro";
}

else if (mes == 9)
{
mesescrito = "outubro";
}

else if (mes == 10)
{
mesescrito = "novembro";
}

else if (mes == 11)
{
mesescrito = "Dezembro";
}




var fso = new ActiveXObject("Scripting.FileSystemObject");
arquivo = fso.OpenTextFile(mesescrito + ".txt", 2, true)


/*
Esplicando o código
    O primeiro argumento da função indica o nome do arquivo
    O segundo argumento indica que ele o modo como ele está aberto (somente leitura, leitura e escrita, [...])
    O terceiro argumento indica que se o arquivo não existir será criado automaticamente (no caso de estar como verdadeiro)
    Também existe um quarto parâmetro, que indica a formatação do arquivo (padrão, unicode ou ascii), mas resolvi deixar como default
*/
mensagem = "nome " + document.tesando.nome.value + " Mensagem " + document.tesando.texto.value;
conteudo = mensagem;
arquivo.Write(conteudo)
arquivo.close

}

-->
</SCRIPT>
</head>

<body onload="ola()">
<form name="tesando">
<input type="button" value="teste"  onclick="teste()">
<table>
<tr>
<td>
nome</td><td> <input type ="text" name="nome" value=""></td>
</tr>
<tr>
<td>
Mensagem </td> <td> <textarea name="texto" rows="6" cols="20"></textarea></td>
</tr>
</table>
</form>
</body>
</html>

é q eu keria q ele não slavasse em cima do mesmo arquivo e sim abrisse como se fosse editar ele e acrescentasse mais umalinha

Mlas não ta funcionando ainda direito vo reajusta

Link para o comentário
Compartilhar em outros sites

  • 0
Dei até uma olhada naqueles link's que você passou...

Fiquei até assustado !

O site da MSDN colocando código de "Response.Write" e dizendo que é JavaScript

Aquele código ali é uma mistura de JavaScript e VBScript

Mesmo assim, estou fazendo um código agora pra manipular esse arquivo e jajá posto aqui !

Só explicando, o link do MSDN é da documentação do metodo "FileSystemObject", que pode ser usado tanto no servidor

Set fso = CreateObject("Scripting.FileSystemObject")
Ou via IE no Javascript
fso = new ActiveXObject("Scripting.FileSystemObject");
Por isso que você tem sempre 2 blocos de codigo, 1 sendo ASP outro sendo JS para IE Lembrando que isso é só para IE, não roda em nenhum outro navegador, isso que passei é o master da gambiarra. Peço até que, por favor, o dono do post, mude o nome colocando que é só para IE para depois não vir alguém reclamar que no FF não funciona.
é q eu keria q ele não slavasse em cima do mesmo arquivo e sim abrisse como se fosse editar ele e acrescentasse mais umalinha Mlas não ta funcionando ainda direito vo reajusta
Amigo muda esta linha de 2 para 8 linha atual:
arquivo = fso.OpenTextFile(mesescrito + ".txt", 2, true)
nova linha:
arquivo = fso.OpenTextFile(mesescrito + ".txt", 8, true)

Editado por Jonathan Queiroz
Link para o comentário
Compartilhar em outros sites

  • 0

com o writeln não funciono :(

arquivo.writeln("teste");

ele não rodo

:9 refiz ele volta

<html>
<head>
<script LANGUAGE="JavaScript">
function teste(){

var fso = new ActiveXObject("Scripting.FileSystemObject");
arquivo = fso.OpenTextFile("arquivo.txt", 2, true)
/*
Esplicando o código
    O primeiro argumento da função indica o nome do arquivo
    O segundo argumento indica que ele o modo como ele está aberto (somente leitura, leitura e escrita, [...])
    O terceiro argumento indica que se o arquivo não existir será criado automaticamente (no caso de estar como verdadeiro)
    Também existe um quarto parâmetro, que indica a formatação do arquivo (padrão, unicode ou ascii), mas resolvi deixar como default
*/
mensagem = "nome " + document.tesando.nome.value + " Mensagem " + document.tesando.texto.value;

conteudo = mensagem;
arquivo.Write(conteudo)
arquivo.close




}

-->
</SCRIPT>
</head>

<body onload="ola()">
<form name="tesando">
<input type="button" value="teste"  onclick="teste()">
<table>
<tr>
<td>
nome</td><td> <input type ="text" name="nome" value=""></td>
</tr>
<tr>
<td>
Mensagem </td> <td> <textarea name="texto" rows="6" cols="20"></textarea></td>
</tr>
</table>
</form>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0
com o writeln não funciono

arquivo.writeln("teste");

Não é "writeIn" não, o "writeIn" é um método do objecto document,, que funciona da mesma forma que o document.write, mas acrescenta uma quebra de linha depois

Para escrever linhas em um arquivo, utilize o arquivo.WriteLine

é q eu keria q ele não slavasse em cima do mesmo arquivo e sim abrisse como se fosse editar ele e acrescentasse mais uma linha

Já respondi ali em cima !

Usa o arquivo.WriteLine

Espero ter ajudado !

Link para o comentário
Compartilhar em outros sites

  • 0

Cara não funciono então meu codigo é esse de baixo eu gostaria q ao mandar a mensagem ele gerace o arquivo ateh ai beleza mas se eu mandasse outra ele colokaria em baixo e não sobrescrevesse

e mesmo q feche a pagina e volte ele escreva na de baixo

<html>
<head>
<script LANGUAGE="JavaScript">
function teste(){

var fso = new ActiveXObject("Scripting.FileSystemObject");
arquivo = fso.OpenTextFile("arquivo.txt", 2, true)
/*
Esplicando o código
    O primeiro argumento da função indica o nome do arquivo
    O segundo argumento indica que ele o modo como ele está aberto (somente leitura, leitura e escrita, [...])
    O terceiro argumento indica que se o arquivo não existir será criado automaticamente (no caso de estar como verdadeiro)
    Também existe um quarto parâmetro, que indica a formatação do arquivo (padrão, unicode ou ascii), mas resolvi deixar como default
*/
mensagem = "nome " + document.tesando.nome.value + " Mensagem " + document.tesando.texto.value;

conteudo = mensagem;
arquivo.WriteLine(conteudo)
arquivo.close




}

-->
</SCRIPT>
</head>

<body onload="ola()">
<form name="tesando">
<input type="button" value="teste"  onclick="teste()">
<table>
<tr>
<td>
nome</td><td> <input type ="text" name="nome" value=""></td>
</tr>
<tr>
<td>
Mensagem </td> <td> <textarea name="texto" rows="6" cols="20"></textarea></td>
</tr>
</table>
</form>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0
Cara não funciono então meu codigo é esse de baixo eu gostaria q ao mandar a mensagem ele gerace o arquivo ateh ai beleza mas se eu mandasse outra ele colokaria em baixo e não sobrescrevesse

e mesmo q feche a pagina e volte ele escreva na de baixo

Pelo que estou entendendo, você esta querendo fazer um ADD no arquivo, se for isso, você nunca vai conseguir, pois como falei você esta abrindo o arquivo com a função

arquivo = fso.OpenTextFile("arquivo.txt", 2, true)
onde 2 quer dizer write, ai ele sempre vai escrever um novo arquivo. se você quer adicionar no mesmo arquivo tem que ser com o numero 8
arquivo = fso.OpenTextFile("arquivo.txt", 8, true)

Link para o comentário
Compartilhar em outros sites

  • 0

Cara descuilpa mesmo tomar seu tempo eu to quase consseguindo porem continua não add na outra linha ele cria mas não add vou posta o codigo sera q você poderia ver see conssegue manda ele alterado pra mim por favor já fiko muito gratompor td q você fez

<html>
<head>
<script LANGUAGE="JavaScript">
function teste(){

now=new Date();
mes = now.getMonth();
dia = now.getDay();
var mesescrito;


if(mes == 0)
{
mesescrito = "Janeiro";
}
else if (mes == 1)
{
mesescrito = "Fevereiro";
}

else if (mes == 2)
{
mesescrito = "Março";
}

else if (mes == 3)
{
mesescrito = "Abril";
}

else if (mes == 4)
{
mesescrito = "Maio";
}

else if (mes == 5)
{
mesescrito = "junho";
}

else if (mes == 6)
{
mesescrito = "Julho";
}

else if (mes == 7)
{
mesescrito = "Agosto";
}

else if (mes == 8)
{
mesescrito = "Setembro";
}

else if (mes == 9)
{
mesescrito = "outubro";
}

else if (mes == 10)
{
mesescrito = "novembro";
}

else if (mes == 11)
{
mesescrito = "Dezembro";
}


var fso = new ActiveXObject("Scripting.FileSystemObject");
arquivo = fso.OpenTextFile(dia + "-" + mesescrito + ".txt", 8, true)
/*
Esplicando o código
    O primeiro argumento da função indica o nome do arquivo
    O segundo argumento indica que ele o modo como ele está aberto (somente leitura, leitura e escrita, [...])
    O terceiro argumento indica que se o arquivo não existir será criado automaticamente (no caso de estar como verdadeiro)
    Também existe um quarto parâmetro, que indica a formatação do arquivo (padrão, unicode ou ascii), mas resolvi deixar como default
*/
mensagem = "nome " + document.tesando.nome.value + " Mensagem " + document.tesando.texto.value;

conteudo = mensagem;
arquivo.Write(conteudo)
arquivo.close




}

-->
</SCRIPT>
</head>

<body onload="ola()">
<form name="tesando">
<input type="button" value="Criar"  onclick="teste()">
<table>
<tr>
<td>
nome</td><td> <input type ="text" name="nome" value=""></td>
</tr>
<tr>
<td>
Mensagem </td> <td> <textarea name="texto" rows="6" cols="20"></textarea></td>
</tr>
</table>
</form>
</body>
</html>

mals nem o code conssegui fazer direito ahuahauhaua

eu percebi q se eu colokar o false no lugar do true eu conssigo escrever no arquivo só q na mesmo linha do outro não é? porem não conssigo criar o arquivo logo se inicial

Editado por Jonathan Queiroz
Adcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...