Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

chrod

Formulário em JavaScript e ASP

Recommended Posts

Seguinte pessoal,Tenho um sistema de notícias onde criei umas variáveis em javascript que lêem o conteúdo dos campos da tabela do BD.. assim:1) conecto o BD, depois crio variáveis ASP assim:<% data = recset("data") titulo = recset("titulo") texto = recset("texto")%>2) crio a função javascript para pegar os valores da tabela através das variáveis asp assim:function pre_for(){ var dt = "<% = data %>" var tit = "<% = titulo %>" var txt = "<% = texto %>" form1.datanot.value = dt; form1.titulonot.value = tit; form1.textonot.value = txt;}O único problema (pois o sistema já está em uso a algunsdias) é que o campo da tabela "texto" é um campo memorando do access... e ao atirbuir a variável txt do java o valor da variável asp "texto" dá erro. Dai pra contornar isso tive que escrever o conteúdo da variável asp no corpo do documento e ai o administrador tem q selecionar o texto e copiá-lo pra caixa de texto. Somente os outros campos são preenchidos pela função.gostaria de resolver isso pra ficar mais fácil de admistrar... portanto conto com ajuda de vocês.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele ta dando erro pq a função java é chamada para uma string é isso??entaum tenta converter na hora que você utiliza ela!tipo:function pre_for(){var dt = "<% = data %>"var tit = "<% = titulo %>"var txt = "<% = Cstr(texto) %>"form1.datanot.value = dt;form1.titulonot.value = tit;form1.textonot.value = txt;}Não sei se é isso mesmo que você quer!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei, mas deu Erro: Contante de sequência não finalizada...Alguma outra solução...Quero acrescentar que todos os campos são tipo texto do access e todos estão funcionando com a função, menos esse que é tipo Memorando...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim joga este Cstr antes de mandar ela pro java script:<% data = recset("data")titulo = recset("titulo")Cstr(texto) = recset("texto")%>function pre_for(){var dt = "<% = data %>"var tit = "<% = titulo %>"var txt = "<% = texto %>"form1.datanot.value = dt;form1.titulonot.value = tit;form1.textonot.value = txt;}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim joga este Cstr antes de mandar ela pro java script:

 

<%

data = recset("data")

titulo = recset("titulo")

Cstr(texto) = recset("texto")

%>

 

function pre_for(){

var dt = "<% = data %>"

var tit = "<% = titulo %>"

var txt = "<% = texto %>"

form1.datanot.value = dt;

form1.titulonot.value = tit;

form1.textonot.value = txt;

}

<{POST_SNAPBACK}>

Agora deu a seguinte mensagem de ERRO!

 

 

Microsoft VBScript runtime error '800a000d'

 

Type mismatch: 'Cstr'

 

/admin_noticias/altera.asp, line 108

 

 

Detalhe: A linha 108 é a que tem a delcaração: Cstr(texto) = recset("texto")

 

Alguma outra solução?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao pode ser assimCstr(texto) = recset("texto")nem vi o codigo mas o certo seriatexto = CSTR(recset("texto"))

Compartilhar este post


Link para o post
Compartilhar em outros sites

É o seguinte:

 

1- Vamos voltar pra analisar seu primeiro post. Esqueça as outras soluções.

 

2 - Seu erro é de JAVASCRIPT e NÃO de ASP. ok? "Contante de sequência não finalizada..." (acho que isso é erro de javascript. certo?)

 

3 - O que acontece é o seguinte: o campo memorando que voce pegou pelo ASP deve conter alguns caracteres aspas ("), daí quando voce coloca ele no javascript, estas aspas fecham a sequencia de string do javascript. Entendeu??

 

4 - Solução possível: no seu código ASP, de um replace(texto,"""","\"""). Pra quem não entendeu, estou substituindo todos os caracteres aspas(") no texto pelo caracter de escape do aspas no javascript que é (\" - barraAspas). Assim o javascript, ao ler \", não irá finalizar a string e tudo ocorrerá corretamente.

Obs.: em "replace(texto,"""","\""")" eu tive que duplicar cada aspas que estava dentro da string senao o ASP iria entender como fim de sua sequencia de caracteres. O "" (aspasaspas) é o caracter d eescape para aspas no ASP. (vixe. que monte de asp*. heheh)

 

5 - No final ficará assim:

var txt = "<% = replace(texto,"""","\""") %>"

6 - Obs. Eu nao testei este código. Se der algum erro me avisa.

 

7 - Se for mesmo este erro que falei, ele pode ocorrer com qualquer tipo de campo e nao apenas com campos memorando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha galera, muito obrigado pela atenção de vcs nesse caso, mas infelizmente continua dando a mesma mensagem...Constante de sequência não finalizada...No último post do MICOX, reparei que onde tinha " no texto aparecia uma /, mas continua com a tal mensagem de erro acima...Será possível um negócio desse...Alguma outra solução?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha galera, muito obrigado pela atenção de vcs nesse caso, mas infelizmente continua dando a mesma mensagem...

 

Constante de sequência não finalizada...

 

No último post do MICOX, reparei que onde tinha " no texto aparecia uma /, mas continua com a tal mensagem de erro acima...

 

Será possível um negócio desse...

 

 

Alguma outra solução?

<{POST_SNAPBACK}>

VocÊ usou \ ou / ??? o certo é usar \ .

 

posta pra nóis aí o código, os dados no banco e o resultado que saiu impresso se der...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.