【问题标题】:AJAX Submit Form.. data not sendingAJAX 提交表单.. 数据未发送
【发布时间】:2011-04-01 02:43:53
【问题描述】:

我一直在与这件作品作斗争 现在几天的代码...... 希望有任何帮助

脚本调用php文件不带 按下提交键时出现问题。 但是,它不会发布表单数据 用它。

HTML 表单

<form id="image_form" name="image_form" method="POST"

动作="" enctype="multipart/form-data"> 文件:

Javascipt

$(function() {
$(".submit").click(function() {
  var obj = document.getElementById("form_div");
  var load = document.getElementById("load");
   jQuery.ajax({
    type: "POST",
    name: "image",
    url: "upload_imagel.php",
    enctype: "multipart/form-data",
    beforeSend: function(){
     obj.style.display = 'none';
     load.innerHTML = "<img src='../images/misc/ajax-loader.gif'

/>"; }, 错误:函数(){ alert('发生错误'); }, 超时:5000, 成功:函数(结果){ load.style.display = '无'; obj.style.display = '块'; } }) 返回假; }); });

PHP

那么下面就是空的

$image=$_FILES['image']['name'];

感谢 pekka,我将以下 AJAX 更改为

$(document).ready(function() { 
    var obj = document.getElementById("form_div");
    var load = document.getElementById("load");

    var options = { 
        beforeSend: function(){
             obj.style.display = 'none';
             load.innerHTML = "<img src='../images/misc/ajax-loader.gif' />";
            },
        success: function(){
             load.style.display = 'none';
             obj.style.display = 'block';
            },
        type:      'POST', 
        timeout:   5000 
    }; 

    $('#image_form').submit(function() { 
        $(this).ajaxSubmit(options); 
        return false; 
    }); 
}); 

但还是遇到同样的问题

$image=$_FILES['image']['name'];

还是空的:(

附: html 表单标题现在是

<form id="image_form" method="POST" action="sMain/upload_image_small.php" enctype="multipart/form-data">

我错过了什么吗?

【问题讨论】:

    标签: javascript php ajax forms upload


    【解决方案1】:

    它确实有效 Pekka,我的 php 文件中有错字。好烦。

    谢谢.. 也是通过不同的论坛发现的

    http://www.ajaxf1.com/tutorial/ajax-file-upload-tutorial.html

    感谢两位的帮助。

    【讨论】:

    • 不客气。对于未来,最好不要添加您自己的答案,而是在 SO 上使用 cmets,并在适当的情况下更新您的问题(使用“编辑”按钮)。
    【解决方案2】:

    您可以尝试使用 Plupload (http://www.plupload.com)。它有很多功能,非常适合文件上传。

    【讨论】:

      【解决方案3】:

      无法使用 AJAX 进行文件上传,因为您的脚本将无法读取客户端计算机上的文件。

      您可以查看jQuery form plugin,它使用不可见的 iframe 来实现此目的。

      【讨论】:

      • @Stevanicus 很奇怪。可以显示表单的 HTML 代码吗?
      猜你喜欢
      • 1970-01-01
      • 2017-09-11
      • 2013-12-01
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-09
      相关资源
      最近更新 更多