Ir para conteúdo

POWERED BY:

Arquivado

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

AndréMiranda

[Resolvido] no Replace

Recommended Posts

Olá pessoal!!

 

Estou com uma dúvida meio básica... mas que não tá funcionando de jeito algum!

 

Tenho uma Select List chamada "contratacao" e nela o usuário pode escolher entre duas opções: "Chamado" ou "Quilometragem".

 

Logo a seguir desta Select List, eu tenho um campo de Texto chamado "valor" onde o usuário digitará o valor do reembolso dele. Porém, se ele escolher na Select List "Chamado", o campo de Texto "valor" tem que ser OBRIGATORIAMENTE R$ 8,00... cheguei até fazer isso em JavaScript... coloquei um evento onChange na Select List chamando uma função que caso o usuário selecione "Chamado" na Select List, o campo de Texto "valor" é automaticamente preenchido com "8,00".

 

E, no final do form tem um botão pra cadastrar lá no meu BD. Só que esse JavaScript não está cadastrando lá no BD... o campo fica como NULL.

 

Tentei então dar um Replace no ASP mesmo antes do INSERT... fiz isso aqui:

if request.form("contratacao") = "Chamado" Then
	trocavalor = request.form("valor")
	trocavalorr = Replace(trocavalor,"","8.00")
	End if
		
	Set MM_editCmd = Server.CreateObject ("ADODB.Command")
	MM_editCmd.ActiveConnection = MM_conexaoDataBase_STRING
	MM_editCmd.CommandText = "INSERT INTO dbo.tb_despesas....... etc etc etc

Só que tmb não está funcionando... será que esse Replace está errado?

 

Abraços a todos!!

André

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando não é preenchido você precia saber o valor da variave 'trocavalor'. De posse do que contém nela você faz o replace

 

Porém acredito que você deva usar um simples IF no lugar de replace. Isso porque você quer verificar se um campo está vazio e não tem como substituir algo que não existe

 

if trocavalor = "" then trocavalorr = "8.00"

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria mais ou menos assim

 

if request.form("contratacao") = "Chamado" Then
	trocavalor = 8
else
	trocavalorr = request.form("valor")
End if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, tentei fazer assim ó:

trocavalor = request.form("valor")
	if request.form("contratacao") = "Chamado" Then
		trocavalor = "8,00"
	else
		trocavalor = request.form("valor") 
	End if

Mas, continua não cadastrando nada no meu BD... :-(

 

Abs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

como esta o seu formulario?

Compartilhar este post


Link para o post
Compartilhar em outros sites

como esta o seu formulario?

 

Vou tentar citar aqui alguns trechos que penso serem os mais importantes do código:

 

Meu formulário:

// meu form action. Função checar_formulario é pra ver se alguns campos obrigatórios estão em branco ou não

<form ACTION="<%=MM_editAction%>" METHOD="POST" id="frm_reembolso" name="frm_reembolso" onSubmit="return checar_formulario(this)" >



//Select pro usuário escolher "Chamado" ou "Quilometragem"

<select name="contratacao" id="contratacao" onchange="disableInput(id)">
				<option selected="selected"></option>
				<option value="Chamado">Chamado</option>
				<option value="Quilometragem">Quilometragem</option>
</select>




//função disableInput. Essa é uma função que se o cara escolher "Chamado" na Select List, joga "8,00" no campo "valor" e bloqueia o campo "km".

<script>
function disableInput(id){
	if (document.getElementById("contratacao").value == "Quilometragem") {
	
		document.getElementById("km").disabled = false
	}
	else
		document.getElementById("km").disabled = true
		document.getElementById("valor").disabled = true
		document.getElementById("valor").value = "8,00"
				
	if (document.getElementById("contratacao").value == "Quilometragem") {
		document.getElementById("valor").disabled = false
		document.getElementById("valor").value = ""
	}

}
</script>

Pessoal, em baixo vai o meu INSERT:

<%

If (CStr(Request("MM_insert")) = "frm_reembolso") Then

  If (Not MM_abortEdit) Then
	' execute the insert
	
	Dim MM_editCmd
	Dim trocavalor
				trocavalor = request.form("valor")
	if request.form("contratacao") = "Chamado" Then
		   trocavalor = 8
	End if
		
	Set MM_editCmd = Server.CreateObject ("ADODB.Command")
	MM_editCmd.ActiveConnection = MM_conexaoDataBase_STRING
	MM_editCmd.CommandText = "INSERT INTO dbo.tb_despesas (data_evento, cr_diretoria, cr_filial, cr_natureza, cr_ativsetor, projeto, conta_contabil, origem, destino, km, chamado, valor, data_atualizacao, nome, contratacao, idFunc) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" 
	MM_editCmd.Prepared = true
	
	MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 201, 1, 150, Request.Form("data_evento"))
	
	MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param12", 5, 1, 150, MM_IIF(Request.Form("valor"), Request.Form("valor"), null)) ' adDouble
	
	MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param15", 201, 1, 50, Request.Form("contratacao")) 
	
	MM_editCmd.Execute
	MM_editCmd.ActiveConnection.Close

Essa parte do INSERT, eu tirei alguns parâmetros para ficar mais de vcs lerem, deixei só os parâmetros das variáveis que estão dando problema... é pq o código é gerado pelo Dreamweaver e acaba ficando com muito lixo no código, na minha opinião.

 

Abs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi o mesmo problema ocorrido em outro topico ainda hoje

 

Nao observei este detalhe

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.