我在網上創建表單聯繫人,但是當我點擊「Enviar」(提交按鈕)時,表單郵件到達但它打開一個窗口來下載mail.php而不是顯示真實的表單結果。錯誤在哪裏? 您可以現場看到它在這裏:http://omgphotobooth.com.ar/jonetsugroup/contacto.php表單錯誤 - 在提交點擊打開窗口下載mail.php
這是形式的網頁代碼:
<!doctype html>
<html>
<head>
<script type="text/javascript" src="formValidar/formValidar.js"></script>
</head>
<body>
<div class="formulario">
<!--form-->
<form id="web" method="POST" action="mail.php">
<div class="campos">
<div class="caja">
<div class="flecha"></div>
<label class="tituloform" for="nombre">Nombre Completo
<span class="asterisk">*</span>
</label>
<input name="nombre" class="ss-q-short" id="formNombre" type="text">
</div>
<div class="caja">
<div class="flecha"></div>
<label class="tituloform" for="telefono">Teléfono
<span class="asterisk"></span>
</label>
<input name="telefono" class="ss-q-short" id="formTelefono" type="number">
</div>
<div class="caja">
<div class="flecha"></div>
<label class="tituloform" for="email">Mail
<span class="asterisk">*</span>
</label>
<input name="email" class="ss-q-short" id="formEmail" type="email">
</div>
<div class="caja">
<div class="flecha"></div>
<label class="tituloform" for="email">Fecha de Evento
<span class="asterisk"></span>
</label>
<input name="fecha" class="ss-q-short" id="formFecha" type="text">
</div>
<div class="caja">
<div class="flecha"></div>
<label class="tituloform" for="asunto">Asunto
</label>
<input name="asunto" class="ss-q-short" id="formAsunto" type="text">
</div>
</div>
<div class="punteadolargo" id="contacto"></div>
<div class="raya" id="contacto"></div>
<img src="img/mensaje.jpg" class="mensajecinta">
<div class="mensaje">
<div class="caja">
<label class="tituloform" for="mensaje">
</label>
<textarea name="mensaje" class="ss-q-short" id="formMensaje" form="web"></textarea>
</div>
</div>
<div id="webFormResult"></div>
<div>
<p style="text-align:center">
<input type="submit" value="" class="submit" name"submit"/>
</p>
</div>
</form>
<script type="text/javascript" src="global.js"></script>
<!--form-->
</div>
</body>
</html>
這是使它工作的mail.php:
<?php
$header = 'From: [email protected]' . "\r\n" .
'Reply-To: '.$_POST["email"]. "\r\n" .
'X-Mailer: PHP/' . phpversion();
$msg = '';
foreach($_POST as $k => $v) {
$msg .= "$k: $v \n";
}
$res = @mail('[email protected]', 'Contacto desde web', $msg, $header);
header('Content-type: text/json');
$res = true;
echo json_encode(array('result' => $res));
?>
這是de js的形式。在mail.php
$(document).ready(function(){
$('form#web').submit(function(){
var definitions = [
{
id: 'formNombre',
type: 'string',
title: 'nombre'
},
{
id: 'formEmail',
type: 'email',
title: 'email'
},
{
id: 'formAsunto',
type: 'string',
title: 'asunto'
},
{
id: 'formMensaje',
type: 'string',
title: 'mensaje'
}
];
if(formValidar($(this), definitions)) {
console.log($(this));
$.post('mail.php', $(this).serialize(), function(json){
if(json.result == true) {
$('#webFormResult').html('El mensaje se ha enviado correctamente!');
} else {
$('#webFormResult').html('No pudimos enviar el mensaje, intente nuevamente');
}
$("#web input[type=text],#web input[type=email], #web input[type=number], #web textarea, #web select").val('');
});
return false;
} else {
return false;
}
});
});
噢,是的,你說得對,那是問題所在,我可能會錯誤地將它清除。謝謝!有時可以有更多的觀點來發現問題! – lalalamai