我想序列化在输入类型文件中上传的文件的文件名,但是当我在jquery中序列化表单时,我只获得了输入类型文本而其他文件不是文件 - 我该怎么做?这是jquery无法实现的东西吗?
这是html / php:
<form action="<?php echo HTTP_ROOT.INC_LAYOUT;?>ask_add_xml.php" method="post" enctype="multipart/form-data" id="form_qna_ask">
<div class="item-form">
<h2><a href="#"><span>ASK</span></a></h2>
<label id="ask_title_label">
<input type="text" name="ask_title" id="ask_title" value="" title="TYPE IN A TITLE"/>
</label>
</div>
<div class="item-form">
<h2><a href="#"><span>EMAIL</span></a></h2>
<label id="ask_email_label">
<input type="text" name="ask_email" id="ask_email" value="" title="TYPE IN YOUR EMAIL"/>
</label>
</div>
<div class="item-form">
<label id="ask_content_label">
<textarea name="ask_content" id="content_mce" title="CONTENT"></textarea>
</label>
</div>
<div class="item-form">
<div class="left">
<label>
<img src="views/www/styles/images/global/button-add-images-q-n-a.gif" alt="add images" style="float:left;"/>
<h2 id="add_images_label"><a href="#"><span>Add Images</span></a></h2>
</label>
</div>
<div class="right">
<div class="processing"></div>
<input type="submit" name="cancel" value="CANCEL"/>
<input type="submit" name="submit" value="SUBMIT"/>
</div>
</div>
<div class="item-form" style="border:1px solid #bbbbbb; padding:10px 10px 20px 15px; background-color:#ffffff;">
<p>Add images: this allows you to attach pictures to your question. Only 2 pictures at 2MB each are allowed to upload.</p>
<input type="file" name="image[]"/>
<input type="file" name="image[]" />
</div>
</form>
这是jquery,
this.postForm_ask = function(){
$("#form_qna_ask").submit(function(){
$('#popup_result').remove();
var path = $(this).attr('action');
var processing = $('#q-n-a .processing');
processing
.css({
margin:"0px 0px 0px -80px",
position:"absolute",
visibility:"visible"
});
processing.html('<div><p><img src="'+http_root+img_global+'loader-2b.gif"/> loading</p></div>');
$.post(path, $("#form_qna_ask").serialize(),function(xml){
alert($("#form_qna_ask").serialize());
processing
.css({
visibility:"hidden"
});
processAsk(xml);
});
return false;
});
}
非常感谢,
刘
答案 0 :(得分:2)
答案 1 :(得分:1)
当然你想做这个服务器端吗?该文件以二进制形式发送,因此无论如何都无法通过XHR发送。
如果您想要即时文件上传,请尝试使用iframe。