我使用ajax jquery提交表单。我想上传一张图片和其他字段。
是否可以对我现有的脚本进行更改以完成它,或者我是否需要重做所有内容: -
我的jquery是: -
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$(".submit").click(function () {
var article_title = $("#article_title").val();
var article_body = $("#article_body").val();
var dataString = 'article_title=' + article_title + '&article_body=' + article_body;
if (article_title == '' || article_body == '') {
$('.success').fadeOut(200).hide();
$('.error').fadeOut(200).show();
} else {
$.ajax({
type: "POST",
url: "<?php echo site_url().'/main/submit_article'?>",
data: dataString,
success: function () {
//$('.success').fadeIn(200).show();
$('#article_form')[0].reset();
$('.error').fadeOut(200).hide();
}
});
}
return false;
});
});
</script>
我的HTML表单: -
<form name="article_form" id="article_form" class="article_form" method="POST" action="">
<input type="text" name="article_title" id="article_title" placeholder="Title for your article" /> <!--<input type="file" name="pic" />-->
<br>
<textarea rows="12" name="article_body" id="article_body" placeholder="Tell your story"></textarea>
<br>
<input type="submit" name="submit" id="submit" value="Post" class="submit"/>
</form>
答案 0 :(得分:2)
为什么不使用jQuery.form
插件。
此插件可以有效地处理文件上传Check here。
用于清算字段
$(':input','#myform').not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
答案 1 :(得分:1)
将 enctype =“multipart / form-data”添加到表单元素中。
答案 2 :(得分:0)
让我在这里节省时间,试试:
uploadify http://www.uploadify.com/
或者您可以尝试:
Jquery Forms malsup.com/jquery/form/
如果您需要进度条,多次上传,拖放 https://github.com/valums/file-uploader
使用这些工具和插件可以减轻压力。除非你有更好的想法,否则不要重新发明轮子。