这是html代码
<input type="text" class="txtbox" placeholder="Name" id="name" name="name" />
<input type="text" class="txtbox" placeholder="E-mail"id="email" name="email" />
<input type="text" class="txtbox" placeholder="Phone" id="phone" name="phone" />
<input type="file" class="txtbox" name="file" id="resume">
<input name="submit" id="submitbutton1" value="Apply Now" type="button" onClick="submitbutton1()" class="txtbox">
和我的js功能如下
<script>
function submitbutton1()
{
console.log("here");
var name=$("#name").val();
console.log(name);
var email=$("#email").val();
console.log(email);
var phone=$("#phone").val();
console.log(phone);
var tal={"name":name,"email":email,"phone": phone};
$.ajax({
type: "POST",
url: "email.php",
data: tal,
success: function(ch)
{
console.log(ch);
}
});
}
</script>
我想将该pdf文件的值存储到js变量中,以便我可以将所有这些变量发布到email.php中是否可以将pdf文件存储在js变量中?如果有可能如何?请帮帮我......
答案 0 :(得分:0)
我编辑了你的剧本。
<script>
function submitbutton1()
{
console.log("here");
var name=$("#name").val();
console.log(name);
var email=$("#email").val();
console.log(email);
var phone=$("#phone").val();
console.log(phone);
var resume=$("#resume").val();
var tal={"name":name,"email":email,"phone": phone,"resume":resume};
$.ajax({
type: "POST",
url: "email.php",
data: tal,
success: function(ch)
{
console.log(ch);
}
});
}
</script>
答案 1 :(得分:0)
如果你有这个值,你可以在你的js变量中存储pdf值。您可以使用ajax调用从服务器加载pdf文档。但是,它将是二进制数据,您将无法在浏览器中将其显示给您的客户。
您可以将此值发布到服务器,但没有任何意义,因为您只能发布此文件的路径,并使用某些服务器端编程语言函数获取此文件的内容(在您的情况下为file_get_contents) 。
将二进制数据作为电子邮件内容发送是没有意义的,因此您应将其作为附件发送。不知道,是否可以使用php mail()函数发送附件,之前我只使用phpmailer。 Php邮件程序不需要你的二进制数据,它只需要文件路径。
答案 2 :(得分:0)
我认为您必须使用ajax上传PDF文件并使用一个ajax请求将数据发布到ajax中。您可以将FormData()对象用于post文件和数据值
function submitbutton1() {
var file_data = $('#resume').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
form_data.append('name', $("#name").val());
form_data.append('email', $("#email").val());
form_data.append('phone', $("#phone").val());
$.ajax({
url: 'email.php',
cache: false,
data: form_data,
type: 'post',
success: function(result){
console.log(result);
}
});
};