フォームの送信ボタンをクリックした後、訪問者がPDFをダウンロードできるようにしたい。ユーザーがフォームを送信した後にPDFをダウンロードする
[ダウンロード]ボタンを押してフォームの詳細を送信した後、PDFは自動的に「名前を付けて保存」ダイアログを表示します。
私はJavascriptを使用して詳細をPHPフォームプロセッサに送信しています。私はいずれかの言語の専門家ではなく、オンラインで見つかったさまざまな例からコードをまとめました。
一言で言えば、フォーム提出後に自動的にダウンロードを開始する方法はわかりません。それを達成するためにPHPまたはJavaScriptを使用すべきかどうかはわかりません。
事前にお気軽にアドバイスをお願いします。おかげ
これはJavascript
$("#fhb_download_form").validator().on("submit", function (event) {
if (event.isDefaultPrevented()) {
formError1();
submitMSG1(false, "Did you fill in the form properly?");
} else {
event.preventDefault();
submitForm1();
}
});
function submitForm1(){
var fhb_fullname = $("#fhb_fullname").val();
var fhb_email = $("#fhb_email").val();
$.ajax({
type: "POST",
url: "php/fhb_form.php",
data: "fhb_fullname=" + fhb_fullname + "&fhb_email=" + fhb_email,
success : function(text){
if (text == "success"){
formSuccess1();
} else {
formError1();
submitMSG1(false,text);
}
}
});
}
function formSuccess1(){
$("#fhb_download_form")[0].reset();
submitMSG1(true, "Download Ebook")
}
function formError1(){
$("#fhb_download_form").removeClass().addClass('shake animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function(){
$(this).removeClass();
});
}
function submitMSG1(valid, msg){
if(valid){
var msgClasses = "h3 text-center tada animated text-success";
} else {
var msgClasses = "h3 text-center text-danger";
}
$("#fhb_msgSubmit").removeClass().addClass(msgClasses).text(msg);
}
そして、これでは、PHP処理コード
$errorMSG = "";
if (empty($_POST["fhb_fullname"])) {
$errorMSG = "Name is required ";
} else {
$name = $_POST["fhb_fullname"];
}
if (empty($_POST["fhb_email"])) {
$errorMSG .= "Email is required ";
} else {
$email = $_POST["fhb_email"];
}
$EmailTo = "[email protected]";
$Subject = "Ebook Downloaded by $name";
$Body = "";
$Body .= "Name:\n";
$Body .= $name;
$Body .= "\n\n";
$Body .= "Email:\n";
$Body .= $email;
$Body .= "\n\n";
$success = mail($EmailTo, $Subject, $Body, "From:".$email);
おかげ
[** 'this answer' **]をチェックしてください(http://stackoverflow.com/questions/1465573/forcing-to-download-a-file -using-php#answer-1667651)。 –
こんにちはBhavik。それは働いています。私はPHPファイルの最後に共有したコードを貼り付け、$ yourfileを自分のPDFに名前を変更しました。 submitを押すと奇妙なエラーが発生します。 [http://www.zenwebcreative.com.au/_dev/financecorp/FC034/]にアクセスしてフォームに記入すると、私の言うことがわかります。ありがとう –
あなたはそれがうまくいっている。しかし、あなたが投稿したリンクは壊れています。 –