【问题标题】:jQuery Form Plugin not passing string to PHPjQuery Form Plugin 没有将字符串传递给 PHP
【发布时间】:2013-02-13 10:44:34
【问题描述】:

我正在尝试使用 jQuery 表单插件 (http://jquery.malsup.com/form) 来上传和预览照片。由于某种原因,应该使用 ajaxForm 函数传递给 PHP 的字符串返回空。

代码写在下面。每次我运行该函数时,它都会为 $name 和 $size 返回“无数据”,所以我只能假设表单值(应该是上传的文件)没有通过 ajaxForm 函数传递给 PHP。

有人可以帮忙吗?我已经搞砸了几个小时!曾尝试查看 ajaxForm 插件本身的代码,但这些东西超出了我的能力和理解范围!我在网上也找不到任何类似的例子!

谢谢!!

HTML

<form id="imageform" method="post" enctype="multipart/form-data" action="uploadphoto.php">
 <span id="pimg">
  <input type="file" id="photoimg" />
 </span>
</form>

<div id="preview"></div>

jQuery

$(document).ready(function (){

$('#photoimg').live('change', function(){ 
 $("#preview").html('');
 $("#preview").html('<img src="../../images/loader.gif" alt="Uploading...."/>');
 $("#imageform").ajaxForm({
  target: '#preview'
  }).submit();
 });

});

PHP

<?php
include('../../dbconnect.php');
session_start();
$session_id=$_SESSION['email']; // User session id
$path = "../../photos/";

$valid_formats = array("jpg", "png", "gif", "bmp","jpeg");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
 $name = $_FILES['photoimg']['name'];
 $size = $_FILES['photoimg']['size'];
 if(strlen($name)){
  echo ($name);
  }
 else {
  echo ("No Data");
  }
 if(strlen($size)){
  echo ($size);
  }
 else {
  echo ("No Data");
  }
exit;
}
?>

【问题讨论】:

    标签: php ajax jquery jquery-plugins


    【解决方案1】:

    使用名称作为输入类型,例如更改:

    <input type="file" id="photoimg" />
    

    到

    <input type="file" name="photoimg" id="photoimg" />
    

    【讨论】:

    • 哈哈!很简单!我几乎希望它更复杂,我现在觉得很愚蠢!谢谢 - 我会在 10 分钟内接受答案!
    猜你喜欢
    • 2013-07-28
    • 2013-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多