Ir para conteúdo

POWERED BY:

Arquivado

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

Kartman

[Resolvido] componente CDOSYS

Recommended Posts

Bom pessoal, sou leigo no assunto e preciso de ajuda! Estou utilizando o componente CDOSYS oferecido pela UOLHOST como formulário, mais não consigo e não sei como validar os campos, já tentei diversas formas com JAVA, mais sem resultados positivos. Gostaria de realizar tal feito, para que não venha receber e-mails em branco.

 

Tenho outra dúvida, criei um tipo de botão em um programa editor de imagens, e gostaria de utilizá-lo em meu site, como posso fazer isso atravéz de código HTML?

 

Obrigado a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

<input type="image" name="btnenviar" src="caminho da imagem" />
Para validar faça uma pesquisa no Fórum de Javascript que encontrará vários exemplos.

 

Vou mover o tópico para lá. Se quiser validar em ASP, informe que movemos o tópico.

 

 

Tópico movido.

 

Origem: Webstandards: CSS / XML / XHTML / HTML http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Destino: Javascript / DHTML

Compartilhar este post


Link para o post
Compartilhar em outros sites

<input type="image" name="btnenviar" src="caminho da imagem" />
Para validar faça uma pesquisa no Fórum de Javascript que encontrará vários exemplos.

 

Vou mover o tópico para lá. Se quiser validar em ASP, informe que movemos o tópico.

 

 

Tópico movido.

 

Origem: Webstandards: CSS / XML / XHTML / HTML http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Destino: Javascript / DHTML

 

Não sei o que seria melhor, por que esse formulário trabalha em conjunto com outro script que é em ASP (chamado de: enviar.asp) qual seria ideal?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em ASP seria mais seguro, pois é uma validação no servidor. Já Javascript é uma validação feita no lado do cliente, se a intenção dele for burlar a validação, ele conseguirá, caso tenha conhecimento.

 

Particularmente prefiro fazer as duas formas, pois Javascript da o retorno sem precisar atualizar a página. E em ASP faço para garantir que não houve problemas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok ok! Mais você poderia me fornecer um modelo de script? De qualquer forma vou te enviar o scriipt que eu estou usando, que foi fornecido pelo UOLHOST.

 

Formulário:

 

<html>
<head>
<title>Formulário de Contato</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div align="center">
<p><font face="Arial, Helvetica, sans-serif" size="2"><b><font color="#FF0000" size="4" face="Times New Roman, Times, serif">Formulário de Contato</font></b></font></p>
<form method="post" enctype="multpart/formdata" name="form1" action="enviar.asp">
<table width="47%" border="1" cellspacing="2" cellpadding="2">
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">Nome
do Remetente: </font></td>
<td width="67%"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="text" name="nomerem" size="55">
</font></td>
</tr>
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">E-mail
do remetente: </font></td>
<td width="67%"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="text" name="emailrem" size="55">
</font></td>
</tr>
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">Assunto: </font></td>
<td width="67%"><font face="Arial, Helvetica, sans-serif" size="2">
<input type="text" name="assunto" size="55">
</font></td>
</tr>
<tr>
<td width="33%"><font face="Times New Roman, Times, serif" size="3">Mensagem:</font></td>
<td width="67%">
<textarea name="recado" rows="7" cols="52"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="submit" name="Submit" value="Enviar">
<input type="reset" name="reset" value="Limpar">
</div>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>

Arquivo eniar.asp:

 

<%
sch = "http://schemas.microsoft.com/cdo/configuration/"
Set cdoConfig = Server.CreateObject("CDO.Configuration")


'Variaveis
Dim meuservidorsmtp
Dim minhacontaautenticada
Dim minhasenhaparaenvio
Dim emailorigem
Dim emaildestino

'Abaixo seguem algumas definicoes de variaveis para o envio de seu formulario. Por favor preencha os campos abaixo.

meuservidorsmtp = "smtp.meudominio" ' Informacoes so seu servidor SMTP
minhacontaautenticada = "conta@meudominio" ' conta de e-mail utilizada para enviar
minhasenhaparaenvio = "minhasenha" ' senha da conta de e-mail
emailorigem = "emailorigem@dominio" ' e-mail que indica de onde partiu a mensagem
emaildestino = "emaildestino@dominio" ' e-mail que vai receber as mensagens do formulario

'Fim da definição manual de parâmetros.

cdoConfig.Fields.Item(sch & "sendusing") = 2
cdoConfig.Fields.Item(sch & "smtpauthenticate") = 1
cdoConfig.Fields.Item(sch & "smtpserver") = meuservidorsmtp
cdoConfig.Fields.Item(sch & "smtpserverport") = 25
cdoConfig.Fields.Item(sch & "smtpconnectiontimeout") = 30
cdoConfig.Fields.Item(sch & "sendusername") = minhacontaautenticada
cdoConfig.Fields.Item(sch & "sendpassword") = minhasenhaparaenvio
cdoConfig.fields.update
Set cdoMessage = Server.CreateObject("CDO.Message")
Set cdoMessage.Configuration = cdoConfig

cdoMessage.BodyPart.Charset = "iso-8859-1"
cdoMessage.From = emailorigem
cdoMessage.To = emaildestino
cdoMessage.Subject = "Formulario de Contato"
cdoMessage.ReplyTo = Request("emailrem")

strBody = "Dados <br> <br>" & _
"Nome:"& Request("nomerem")& "<br>" & _
"E-Mail:"& Request("emailrem")& "<br>" & _
"Assunto:"& Request("assunto")& "<br>" & _
"Mensagem:"& Request("recado")

strBody = strBody & "."
cdoMessage.HTMLBody = strBody

cdoMessage.Send

Set cdoMessage = Nothing
Set cdoConfig = Nothing

response.write "O e-mail foi processado e enviado com sucesso"
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok. Vamos organizar melhor sua dúvida. Primeiro faça a validação utilizando javascript. Quando concluir essa etapa, poste no Fórum de ASP para criarmos a validação em ASP.

 

Sobre a validação em Javascript, existem vários tópicos aqui sobre o assunto. Faça uma busca que encontrará bons exemplos.

 

Qualquer dúvida poste aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok. Vamos organizar melhor sua dúvida. Primeiro faça a validação utilizando javascript. Quando concluir essa etapa, poste no Fórum de ASP para criarmos a validação em ASP.

 

Sobre a validação em Javascript, existem vários tópicos aqui sobre o assunto. Faça uma busca que encontrará bons exemplos.

 

Qualquer dúvida poste aqui.

 

Esse que é o problema, sou muito leigo no assunto, não sei mesmo onde colocar a validação! Vi vários modelos na net de validação JavaScript, mais infelizmente não consigo entender! Não sei se coloco a função no script do formulário, ou se coloco no arquivo enviar.asp! =[ Desculpe minha ignorância no assunto, mais é que sou leigo mesmo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É como eu disse, são duas validações. Javascript por ser do lado cliente, deve ser colocada no formulário.

 

Poste um modelo que encontrou que lhe explico como configurar no formulário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É como eu disse, são duas validações. Javascript por ser do lado cliente, deve ser colocada no formulário.

 

Poste um modelo que encontrou que lhe explico como configurar no formulário.

 

<html>
<head>
<script language="javascript" type="text/javascript">
function valida()
{
var n, e;
n = document.form1.nome.value;
e = document.form1.email.value;
if(n=="" && e=="")
{
alert("preencha os campos");
document.form1.nome.focus();
}
else
{
alert("formulario enviado com sucesso");
}
}

</script>
<title>pagina</title>
</head>
<body>
<form name="form1" action="pagina_.html" method="post">
digite seu nome:<br>
<input type="text" name="nome"><br><br>
digite seu e-mail:<br>
<input type="text" name="email"><br><br>
<input type="button" value="enviar" onClick="valida()">
</form>

</body>
</html>

Esse foi um dos que eu encontrei, mais eu queria mesmo só que mostrasse aqueles nomes pequenos embaixo em vermelho, avisando que falta preencher.

Vlw Hargon!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adaptando ao seu caso:

<script language="javascript" type="text/javascript">
function valida()
{
var n, e, a, r;
n = document.form1.nomerem;
e = document.form1.emailrem;
a = document.form1.assunto;
r = document.form1.recado;
if(n.value == ""){
alert("preencha o campo nome");
n.focus();
return false;

}elseif(e.value == ""){
alert("preencha o campo e-mail");
e.focus();
return false;

}elseif(a.value == ""){
alert("preencha o campo assunto");
a.focus();
return false;

}elseif(r.value == ""){
alert("preencha o campo recado");
r.focus();
return false;

}else{
alert("formulario enviado com sucesso");
}
}
</script>
Não esqueça de alterar o botão:

<input type="submit" value="enviar" onclick="valida()">
Poste o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adaptando ao seu caso:

<script language="javascript" type="text/javascript">
function valida()
{
var n, e, a, r;
n = document.form1.nomerem;
e = document.form1.emailrem;
a = document.form1.assunto;
r = document.form1.recado;
if(n.value == ""){
alert("preencha o campo nome");
n.focus();
return false;

}elseif(e.value == ""){
alert("preencha o campo e-mail");
e.focus();
return false;

}elseif(a.value == ""){
alert("preencha o campo assunto");
a.focus();
return false;

}elseif(r.value == ""){
alert("preencha o campo recado");
r.focus();
return false;

}else{
alert("formulario enviado com sucesso");
}
}
</script>
Não esqueça de alterar o botão:

<input type="submit" value="enviar" onclick="valida()">
Poste o resultado.

 

Infelizmente ainda não deu certo, não sei o que está acontecendo, acho que tem que alterar alguma coisa no arquivo enviar.asp, os e-mails continuam sendo enviados sem os preenchimentos. segue abaixo as modificações no script.

<Html>
<Head>
	<Title>Contato</Title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript" type="text/javascript"> 
	function valida() 
	{ 
	var n, e, a, r; 
	n = document.form1.nomerem; 
	e = document.form1.emailrem; 
	a = document.form1.assunto; 
	r = document.form1.recado; 
	if(n.value == ""){ 
	alert("preencha o campo nome"); 
	n.focus(); 
	return false; 
 
	}elseif(e.value == ""){ 
	alert("preencha o campo e-mail"); 
	e.focus(); 
	return false; 
 
	}elseif(a.value == ""){ 
	alert("preencha o campo assunto"); 
	a.focus(); 
	return false; 
 
	}elseif(r.value == ""){ 
	alert("preencha o campo recado"); 
	r.focus(); 
	return false; 
 
	}else{ 
	alert("formulario enviado com sucesso"); 
	} 
	} 
</script>
</Head>
<style type="text/css">
body {
scrollbar-arrow-color: #000000;
scrollbar-base-color: #666666;
scrollbar-dark-shadow-color: #666666;
scrollbar-track-color: #9C9C9C;
scrollbar-face-color: #666666;
scrollbar-shadow-color: #666666;
scrollbar-highlight-color: #666666;
scrollbar-3d-light-color: #000000;
}
.limpa_form {
background: url(imagens/cancel.png) no-repeat;
border: 0px;
cursor: pointer;
width: 60px;
height: 20px;
}
.envia_form {
background: url(imagens/button.png) no-repeat;
border: 0px;
cursor: pointer;
width: 60px;
height: 20px;
}
</style>
<Body Background=imagens\fundo.png>
<Marquee ScrollAmount=180 Scrolldelay=1 Behavior="Slide" Loop=1><img src=imagens\contato.jpg></Marquee>
<br>
<br>
<Font Face=Tahoma Size=2 Color=#FFFFFF>
<b> Contato </b> <img src=imagens\indicador.png Width=12 Align=Middle>
</Font>
<br>
<br>
<Font Face=Tahoma Size=1 Color=#9C9C9C>
<p align='justify'>Fale com a <b>DELPHI</b> através do formulário abaixo.</p>
<br>
<div align="left">
<form method="post" enctype="multpart/formdata" name="form1" action="contato.asp">
<table width="47%" border="0" cellspacing="2" cellpadding="2">
<font face="tahoma" size="1" color=#9C9C9C>
<label for="contact_name"> *Digite seu Nome:</label>
<br />
<input type="text" name="nomerem" id="contact_name" size="30" class="inputbox" value="" />
<br />
<label id="contact_emailmsg" for="contact_email"> *Endereço de E-mail:</label>
<br />
<input type="text" id="contact_email" name="emailrem" size="30" value="" class="inputbox required validate-email" maxlength="100" />
<br />
<label for="contact_subject"> *Assunto da Mensagem:</label>
<br />
<input type="text" name="assunto" id="contact_subject" size="30" class="inputbox" value="" />
<br /><br />
<label id="contact_textmsg" for="contact_text"> *Digite sua Mensagem:</label>
<br />
<textarea cols="35" rows="6" name="recado" id="contact_text" class="inputbox required"></textarea>
<tr>
<td colspan="2">
<div align="left">
<input class="envia_form" type="submit" name="enviar" value="enviar" onclick="valida()"> 
<input class="limpa_form" type="reset" name="reset" value=""> 
</div>
</tr>
</table>
</form>
</div>
</Font>
</Body>
</Html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como disse anteriormente, vamos esquecer o enviar.asp, pois estamos trabalhando na validação por Javascript agora.

 

Em todos lugares que sugeri elseif, altera para else if (com o espaço).

 

Retira o evento onclick do botão e altera a tag form para:

<form method="post" enctype="multpart/formdata" name="form1" action="contato.asp" onsubmit="return valida();">

 

Poste o resultado. Caso dê erro, poste como ficou o código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ohhh my God!!! Nem acredito Hargon! Funcionou cara, já estava quase desistindo, só vou te pertubar com mais uma coisa se puder me ajudar claro, eu já havia feito uma página de resposta, se eu quiser eliminar o (ALERT de formulário enviado com sucesso!) eu posso? Outra coisa tipo, se ao invéz de aparecer os alerts, eu poderia colocar só as mensagens em vermelho embaixo dos LABEL´s?

Vlw cara!

Compartilhar este post


Link para o post
Compartilhar em outros sites

se eu quiser eliminar o (alert de formulário enviado com sucesso!) eu posso?

Pode sim.

 

Outra coisa tipo, se ao invéz de aparecer os alerts, eu poderia colocar só as mensagens em vermelho embaixo dos LABEL´s?

Pode sim. Ex.:

		}else if(e.value == ""){ 
			document.getElementById("contact_emailmsg").innerHTML = "preencha o campo nome"; 
			e.focus(); 
			return false; 

Compartilhar este post


Link para o post
Compartilhar em outros sites

se eu quiser eliminar o (alert de formulário enviado com sucesso!) eu posso?

Pode sim.

 

Outra coisa tipo, se ao invéz de aparecer os alerts, eu poderia colocar só as mensagens em vermelho embaixo dos LABEL´s?

Pode sim. Ex.:

		}else if(e.value == ""){ 
			document.getElementById("contact_emailmsg").innerHTML = "preencha o campo nome"; 
			e.focus(); 
			return false; 
Funcionou, mais com um probleminha ele substitui o título do LABEL tipo: Tem lá acima do LABEL Nome: daí quando clico em enviar ele some e aparece "preencha o campo nome" queria que ele aparecesse embaixo do LABEL destacado em vermelho sem que o título do label sumisse. Tem como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem sim. É só você criar o label que vai receber a informação e alterar a cor dele para vermelho. O processo é o mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vixee deixa como tá! Nem sei como fazer! Meus miolos já estão dando um nó! Agora vou partir para outro problema bem mais sério que esse! Vlw mesmo em Hargon!

 

Talvez você poderia me informar em que tópico resolvo meu outro problema, é que minha página foi feita na resolução 1280 x 1024, e quando abro em outras resoluções a página fica toda embaralhada! você tem alguma opnião sobre o caso? Ou tenho que acessar outro tópico?

 

Vlw abração cara!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dúvidas sobre layout (CSS), poste aqui (Webstandards: CSS / XML / XHTML / HTML)

 

Dúvida sobre validar o formulário utilizando ASP, poste aqui.

 

 

Segue abaixo o código da mensagem de erro.

 

<Html>
<Head>
        <Title>Contato</Title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript" type="text/javascript"> 
        function valida() 
        { 
        var n, e, a, r; 
        n = document.form1.nomerem; 
        e = document.form1.emailrem; 
        a = document.form1.assunto; 
        r = document.form1.recado; 
		
		document.getElementById("contact_nameMsg").innerHTML = ""; 
		document.getElementById("contact_emailmsg").innerHTML = ""; 
        document.getElementById("contact_subjectmsg").innerHTML = ""; 
		document.getElementById("contact_textmsg").innerHTML = ""; 
		
        if(n.value == ""){ 
		document.getElementById("contact_nameMsg").innerHTML = "preencha o campo nome"; 
        n.focus(); 
        return false; 
 
        }else if(e.value == ""){ 
		document.getElementById("contact_emailmsg").innerHTML = "preencha o campo e-mail"; 
        e.focus(); 
        return false; 
 
        }else if(a.value == ""){ 
        document.getElementById("contact_subjectmsg").innerHTML = "preencha o campo assunto"; 
		a.focus(); 
        return false; 
 
        }else if(r.value == ""){ 
		document.getElementById("contact_textmsg").innerHTML = "preencha o campo recado"; 
        r.focus(); 
        return false; 
 
        }
        } 
</script>
</Head>
<style type="text/css">
body {
scrollbar-arrow-color: #000000;
scrollbar-base-color: #666666;
scrollbar-dark-shadow-color: #666666;
scrollbar-track-color: #9C9C9C;
scrollbar-face-color: #666666;
scrollbar-shadow-color: #666666;
scrollbar-highlight-color: #666666;
scrollbar-3d-light-color: #000000;
}
.limpa_form {
background: url(imagens/cancel.png) no-repeat;
border: 0px;
cursor: pointer;
width: 60px;
height: 20px;
}
.envia_form {
background: url(imagens/button.png) no-repeat;
border: 0px;
cursor: pointer;
width: 60px;
height: 20px;
}
</style>
<Body Background=imagens\fundo.png>
<Marquee ScrollAmount=180 Scrolldelay=1 behavior="Slide" Loop=1><img src=imagens\contato.jpg></Marquee>
<br>
<br>
<Font Face=Tahoma Size=2 Color=#FFFFFF>
<b> Contato </b> <img src=imagens\indicador.png Width=12 Align=Middle>
</Font>
<br>
<br>
<Font Face=Tahoma Size=1 Color=#9C9C9C>
<p align='justify'>Fale com a <b>DELPHI</b> através do formulário abaixo.</p>
<br>
<div align="left">
<form method="post" enctype="multpart/formdata" name="form1" action="contato.asp" onsubmit="return valida();">
<table width="47%" border="0" cellspacing="2" cellpadding="2">
<font face="tahoma" size="1" color=#9C9C9C>
<label for="contact_name"> *Digite seu Nome:</label>
<br />
<input type="text" name="nomerem" id="contact_name" size="30" class="inputbox" value="" />
<label id="contact_nameMsg" for="nomerem" style="color:#FF0000"></label>
<br />
<label id="contact_email" for="contact_email"> *Endereço de E-mail:</label>
<br />
<input type="text" id="contact_email" name="emailrem" size="30" value="" class="inputbox required validate-email" maxlength="100" />
<label id="contact_emailmsg" for="contact_email" style="color:#FF0000"></label>
<br />
<label for="contact_subject"> *Assunto da Mensagem:</label>
<br />
<input type="text" name="assunto" id="contact_subject" size="30" class="inputbox" value="" />
<label id="contact_subjectmsg" for="assunto" style="color:#FF0000"></label>
<br /><br />
<label id="contact_text" for="contact_text"> *Digite sua Mensagem:</label>
<br />
<textarea cols="35" rows="6" name="recado" id="contact_text" class="inputbox required"></textarea>
<label id="contact_textmsg" for="recado" style="color:#FF0000"></label>
<tr>
<td colspan="2">
<div align="left">
<input class="envia_form" type="submit" name="enviar" value="enviar"> 
<input class="limpa_form" type="reset" name="reset" value=""> 
</div>
</tr>
</table>
</form>
</div>
</Font>
</Body>
</Html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa cara vlw mesmo! Foi mal aew o abuso, mais como havia dito sou leigo demais no assunto! Vlw aew a ajuda! Só preciso saber como faço para pontuar os posts é minha primeira vez em um fórum! Nunca tinha utilizado um! Gostei mesmo do imasters! Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem problemas Kartman. Qualquer dúvida é só postar na área correta.

 

Para pontuar posts é só você clicar no botão verde com um mais que fica canto inferior direito de cada post (acima do botão "quote"). http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Abraço.

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.