2016-05-25 22 views
0

添付ファイルとして電子メールで送信する前にファイルを表示します。私は、ファイルをインデックスとして複数のファイルを電子メールの添付ファイルとしてアップロード

$(function(){ 
    var ul = $('#po_award p#file_1'); 

    $('#po_award').fileupload({ 
     add: function (e, data) { 
      var tpl = $('<li class="dialog"><a style="color: #777777"></a></li>'); 

      tpl.find('a').text(data.files[0].name) 
       .append('<a href="javascript:void(0)"><span style="color: red; float: right">Delete</span></a>'); 

      data.context = tpl.prependTo(ul); 
      tpl.find('span').click(function(){ 
       if(tpl.hasClass('dialog')){ 
        jqXHR.abort(); 
       } 
       tpl.fadeOut(function(){ 
        tpl.remove() 
       }); 
      }); 
      var jqXHR = data.submit(); 
     }, 
    }); 
}); 

そして、このスクリプトを表示し、これは私の問題は、ときにスクリプトで

<?php 
require 'mail/PHPMailerAutoload.php'; 
include "conn.php"; 

date_default_timezone_set("Asia/Jakarta"); 
$id = 1; 
$to = '[email protected]'; 
$subject = 'Test'; 

if(isset($_POST['submit'])){ 
$attachment_name = $_FILES['attachment']['name']; 
$attachment_type = $_FILES['attachment']['type']; 
$attachment = $_FILES['attachment']['tmp_name']; 

include 'smtp.php'; 

$mail->addAddress($to); 
$mail->Subject = $subject; 
$mail->msgHTML('Tes'); 

foreach($attachment_name as $key => $att){ 
    $nama_file = $attachment_name[$key]; 
    $tmp_file = $attachment[$key]; 

    $mail->addAttachment($tmp_file, $nama_file); 
} 

if (!$mail->send()) { 
    echo '<script>alert("Failed"); </script>'; 
} else { 
    echo '<script>alert("Success"); </script>'; 
} 
} 
?> 

upload.phpスクリプトです

<html> 
<head> 
<script type="text/javascript" src="script.js"></script> 
</head> 
<body> 
    <form action="upload.php" id="form" method="post" enctype="multipart/form-data"> 
     <div class="fitem"> 
      <label style="width: 400px">Upload Files :</label> 
     </div> 
     <div class="fitem" style="float: left"> 
      <input style="width: 65px; height: 75px; float: right" class="easyui-filebox" name="attachment[]" multiple="true" buttonText="Add Files"/> 
     </div> 
     <div class="easyui-panel" style="width:440px;height:75px;padding:5px;margin-top:0px"> 
      <p id="file_1" style="list-style-type: none; margin-top: 0px"></p> 
     </div><br> 
    </form> 

    <button type="submit" name="submit" form="form">Send</button> 
</body> 
</html> 

上記のスクリプトを呼び出すために、このスクリプトを使用します。 jsがインデックスに含まれていると、ファイルは電子メールの添付ファイルに表示されません。しかし、script.jsがindexから削除されると、ファイルは電子メールの添付ファイルに表示されます。

これにはどのような解決策がありますか?

+1

はあなたの電子メールコードで電子メールを送信するスクリプトにそれを提出することができるように

その後提出方法の成功コールバックでフォームに必要なデータを追加しますか? –

+0

@AmitRay:私は – Zhumpex

+0

を追加しましたupload.phpファイルは、フォームが送信されているファイルであるのでアップロードできますか? pastebin.comを使用してコードを貼り付けることもできます。貼り付けた後、私にリンクを送ってください。データが完全であれば、診断するのが簡単です。 –

答えて

0

使用しているファイルアップロードプラグインについては言及していませんでしたが、使用したのはファイルのアップロードをサーバー側のコールバックに処理し、フォーム自体にデータを追加しないことだけです。 https://github.com/blueimp/jQuery-File-Upload/wiki/Options#add

あなたがしなければならないことは、別のスクリプトでアップロードを処理することです。たとえば、ファイルに関する情報でjsonを返すことができます。あなたは

関連する問題