簡體   English   中英

jquery onchange事件不適用於php中的文件上傳

[英]jquery onchange event not working for file uploading in php

我正在使用 jquery ajax 方法從 php 上傳文件。我已經通過在單擊按鈕時提交表單來實現文件上傳,但是當輸入字段更改時,它不適用於 onchange 事件。 這是我正在使用的代碼,

<div id="photo">
<img id="image" src="<?php echo $uploadedfile;?>" width=100% height=100%>
</div>
<form id="myform" method="post" enctype="multipart/form-data">
<div id="pick">Change Photo
<input type="file" name="files" id="upload">
</div>
<input type="submit" value="send" name="submit">
</form>

使用 jquery

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>

$("form#myform").submit(function(event){

event.preventDefault();

var formData = new FormData($(this)[0]);

$.ajax({

url : "main.php",
type: 'POST',
datatype : "JSON",
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (returndata) {

    $("#image").attr({
        'src' : returndata.uploadedfile
});

}
}); 
return false;

});

</script>

php代碼在這里

<?php   
$uploadedfile = "default.jpg";
if(isset($_POST['submit'])){

if(isset($_FILES["files"]["name"])){


$filename = $_FILES["files"]["name"];   
$tmppath  = $_FILES["files"]["tmp_name"];
$ext = pathinfo($filename,PATHINFO_EXTENSION);

$targetfile = "uploads/".basename($filename);

if($_FILES["files"]["size"] > 0)
{

if($ext == "jpg")
{
if(file_exists($targetfile)){

$uploadok = false;
$error = "file already exists";
}
else {

$uploadok = true;
}
}
else
{

$uploadok = false;
$error = "only jpg format is allowed";
}   
}
else {
$uploadok = false;
$error = "filesize is too short";   
}
if($uploadok == true){  
move_uploaded_file($tmppath,$targetfile);

$uploadedfile = $targetfile;
$error = "no errors!";
}else{
$uploadedfile = "default.jpg";
}
header("Content-type: text/x-json");
$data = array('error'=>$error, 'uploadedfile'=>$uploadedfile);

echo json_encode($data);
exit();
}
}
?>

我想通過改變而不是通過點擊按鈕來實現這一點。 任何的想法 ??

改變這個:

$("form#myform").submit(function (event) 

對此:

$("form#myform").change(function (event) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM