由于某种原因,我无法获得$ _FILES数组以包含我在表单上选择的上传。从我读过的表格看起来没问题,所有其他变量都收到了。
每次提交表单时,$ _FILES数组的var_dump都有0个条目。
对于这篇文章,为了简洁起见,我删除了其他字段,因为它们正在工作。
<form name="addFact" id="addFact" action="add_fact.php" method="post" enctype="multipart/form-data" onsubmit="return validateStatus();" >
<input type="file" id="myImage" name="myImage" style="width:450px;"/><br />
</form>
重新加载后,我使用以下内容检查$ _FILES数组:
echo "- Files - <br>\n";
echo "<pre>\n";
var_dump($_FILES);
echo "</pre>\n";
但每次结果都是空的:
文件: array(0){ }
更新 对不起,没有意识到验证状态仍在那里..但这是检查是否提交表单的JS
function validateStatus() {
jQuery("#addFact").validationEngine({scroll: false});
var valid = $("#addFact").validationEngine('validate');
if (valid == true) {
submitForm('addFact');
}
return false;
}
虽然我怀疑这是问题的一部分,因为表单成功提交所有仍然设置的属性,包括文件字段等。
哦...和lol ..另一个函数.. :) ...这里是submt表单函数:
function submitForm(formName,message) {
$.ajax({
data: $("#" + formName).serialize(),
type: $("#" + formName).attr('method'),
url: $("#" + formName).attr('action'),
success: function(response) {
$('#load_target').html(response);
}
});
return false;
}
load_target是索引页面上的div我将这个php文件加载到ajax中。 - 希望现在一切都清楚了:)
另外,要保留任何形式的conrens不发布任何内容..这里是post var_dump的结果
array(11) {
["action"]=> string(4) "save"
["category"]=> string(1) "3"
["startDate"]=> string(10) "09-27-2012"
["expireDate"]=> string(10) "11-27-2012"
["title"]=> string(10) "Test Title"
["subtitle"]=> string(10) "Test Title"
["include_image"]=> string(3) "yes"
["img_loc"]=> string(4) "left"
["img_size"]=> string(2) ".3"
["scroll"]=> string(1) "1"
["fact_text"]=> string(27) "there's something about her"
}
答案 0 :(得分:1)
如果您使用的是jquery mobile,请将数据-ajax =“false”添加到表单标记