我有一个在线调查问卷,我已将其与提交表单相关联,以便将结果用户的信息发送到我的电子邮件中。它工作正常。
唯一的问题是,现在,人们可以在不完成个人信息的情况下提交quizz的结果。
如果你可以帮助我,那将是很棒的,我想要的是,人们必须有义务完成他们的信息(姓名,电子邮件等)才能提交结果=)。
我非常感谢你的时间,
这是我的Js,其中#quesForm是结果,#responseMessage是需要发送的其他信息:
$(function() {
$('#quesForm').on('submit',function(e) {
e.preventDefault();
var uname = $("input[name=username]").val();
var uemail = $("input[name=email]").val();
var msg = $("input[name=message]").val()
$.post('submit.php',{username:uname,email:uemail,message:msg,results:$('#resultKeeper').html(),subject:'Subject of your e-mail'},function(result){
$('#responseMessage').html(result);
});
});
这是我的submit.php
<?php $name = $_POST['username'];
$email = $_POST['email'];
$message = $_POST['message'];
$results = $_POST['results'];
$results = strip_tags($results); // add this to remove html tags and all
$formcontent="From: $name \n Email: $email \n Phone: $message \n Results: \n $results";
$recipient = "email@email.com";
$subject = "subject of email";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "";
?>
答案 0 :(得分:0)
在提交表单之前检查空字段:
$(function() {
$('#quesForm').on('submit',function(e) {
e.preventDefault();
var uname = $("input[name=username]").val();
var uemail = $("input[name=email]").val();
var msg = $("input[name=message]").val()
//check for empty fields
if(uname==''||uemail==''||msg==''){
return
}
$.post('submit.php',{username:uname,email:uemail,message:msg,results:$('#resultKeeper').html(),subject:'Subject of your e-mail'},function(result){
$('#responseMessage').html(result);
});
});
如果这很重要,请在php中执行相同的操作