我被要求检查为什么这个表格不起作用。即使我对PHP一无所知,我确实有一个工作表单,我在这个特定的网站上测试过并且没有用。
这是当前的代码。它看起来很糟糕,但有人写了它,而不是我
<script language="javascript">
function validaContato(){
v_erro='';
if ( document.formulario_contato.nome.value == '' ) { v_erro = v_erro+'- Nome\n'; }
if ( document.formulario_contato.email.value == '' ) { v_erro = v_erro+'- E-mail\n'; }
if ( document.formulario_contato.mensagem.value == '' ) { v_erro = v_erro+'- Mensagem\n'; }
if ( v_erro != '' ) {
alert('Por favor preencha os campos obrigatórios:\n\n'+v_erro);
return(false);
} else {
return(true);
}
}
</script>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-XXXXXXX-1");
pageTracker._trackPageview();
} catch(err) {}
</script>
<?
if ($acao == "Enviar") {
$erro_campos = "";
if(trim($nome) == ""){
$erros_campos .= "\n» Nome";
}
if(trim($email) == ""){
$erros_campos .= "\n» E-mail";
}
if(trim($mensagem) == ""){
$erros_campos .= "\n» Mensagem";
}
if($erros_campos != ""){
$msg = trim("Por favor preencha corretamente os seguintes campos:".$erros_campos);
}else{
$tmp_mensagem = "Mensagem enviada pelo formulário de contato<br>
<br>
Nome: ".$nome."<br>
E-mail: ".$email."<br>
<br>
".$mensagem."";
$assunto = "SetecNet - Contato pelo site";
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: SetecNet <xxxx@xxxxx.xx>\n";
$headers .= "X-Mailer: EnvioCerto\n";
if ( @!mail('xxxx@xxxxx.xx', $assunto, $tmp_mensagem, $headers) ) {
$msg="Sua mensagem não pode ser enviada.\nTente novamente em alguns instantes.";
} else {
$msg="Sua mensagem foi enviada com sucesso.";
$nome = "";
$email = "";
$ddd = "";
$telefone = "";
$empresa = "";
$mensagem = "";
}
}
?>
<script language="JavaScript">
alert('<?=$msg?>');
</script>
<?
}
?>
<td width="433"><input name="nome" type="text" class="caixatexto" id="nome" size="54" /></td>
</tr>
<tr>
<td class="textos">E-mail:</td>
<td><input name="email" type="text" class="caixatexto" id="email" size="54" /></td>
</tr>
<tr>
<td class="textos">Mensagem:</td>
<td><textarea name="mensagem" cols="56" rows="5" class="caixatexto" id="mensagem"></textarea></td>
</tr>
<tr>
<td height="25"> </td>
<td><input name="acao" type="submit" class="botao" id="acao" value="Enviar" /></td>
</tr>
</form>
正如我之前所说,我有一份工作表格,我在这个网站上测试过。它没有用。它应该将信息提交给我的邮件,但它没有做任何事情
<script language=javascript>
function valida ()
{
if (document.example.name.value=="")
{
alert ('NAME field is empty!');
return false;
}
else if (document.example.email.value=="")
{
alert ('EMAIL field is empty!');
return false;
}
else
{
return true;
}
}
</script>
<form name="example" id="example" action="submit-example.php" method="post" onsubmit="return valida();">
<fieldset>
<label for="name">Name:</label>
<input type="text" name="name" id="name"/>
<br />
<label for="email">Email:</label>
<input type="text" name="email" id="email"/>
<br />
<input type="submit" value="submit" />
</fieldset>
</form>
<?php
$recebename = $_POST['name'];
$recebeemail = $_POST['email'];
$headers = "From: xxxx@xxxxx.xx\r\n";
$headers .= "Content-type:text/html; charset=utf-8";
$para = "xxxx@xxxxx.xx";
$mensagem = "<h4>Name:</h4> ";
$mensagem .= $recebename;
$mensagem .= "<h4>Email:</h4> ";
$mensagem .= $recebeemail;
$envia = mail($para,"E-mail do Site",$mensagem,$headers);
// Envia um e-mail para o remetente, agradecendo a visita no site, e dizendo que em breve o e-mail será respondido.
$mensagem2 = "<p>Olá <strong>" . $recebename . "</strong>. Recebemos sua solicitação. Entraremos em contato em breve.</p>";
$mensagem2 .= "<p>Observação - Não é necessário responder esta mensagem.</p>";
$envia = mail($recebeemail,"Sua mensagem foi recebida!",$mensagem2,$headers);
echo "Mensagens Recebidas com Sucesso!";
echo "<meta http-equiv='refresh' content='2;URL=http://www.google.com.br'>";
?>
我不知道该怎么做了。有任何想法吗?我的意思是,代码是正确的,对吧?
答案 0 :(得分:0)
您使用javascript函数valida()。但似乎这是不可用的。因为你的代码非常糟糕,所以不确定。
<form name="example" id="example" action="submit-example.php" method="post" onsubmit="return valida();">
这就是为什么这个函数在onsubmit上返回false并且表单没有提交。
答案 1 :(得分:0)
您设置了onsubmit="return valida();"
功能但我无法在您的脚本中看到valida();
功能。我可以在你的脚本中看到validaContato()
函数。我认为你错误地返回函数onsubmit
。
答案 2 :(得分:0)
onsubmit =“return valida();”等于“返回false”,因为未定义valida,因此不提交表单,更改为
onsubmit="return validaContato();"