我对jQuery不太满意,但我尝试尝试。我正在尝试使用以下代码提交多部分表单,但我似乎无法获取表单数据。我试过了
HTML
<form action="" method="post" enctype="multipart/form-data" id="form">
<input type="text" name="somename" value="24" />
<input type="file" name="fill" />
<input type="submit" value="Save" name="sub" />
</form>
<span id="showmsg"></span>
JavaScript的:
$(function(){
$("#form").on('click',function(e) {
$.ajax({
url:'ajax.php',
data:new FormData(this),
type:'POST',
contentType:false,
cache:false,
processData:false,
success:function(data){
$("#showmsg").show().html(data);
},
});
e.preventDefault();
});
});
没有用,我试过
$("#form").submit(function(e) {
$("#form").on('submit',function(e) {
答案 0 :(得分:0)
试试这个小提琴:http://jsfiddle.net/jyqae801/2/
我已经更改了.submit one
的表单事件$(function(){
$("#form").submit(function( event ) {
$.ajax({
url:'ajax.php',
data: new FormData(this),
type:'POST',
contentType:false,
cache:false,
processData:false,
success:function(data){
$("#showmsg").show().html(data);
},
});
alert('form has been submitted');
event.preventDefault();
});
});
您也可以替换
new FormData(this)
用
$( "#form" ).serialize()
因为我不确定“这个”是否属于ajax或形式的范围......老实说最近没有测试过,所以内存不是很好。
我个人使用类似的东西,但我认为在您的文件中需要进行一些调整:http://jsfiddle.net/5f9wekLn/
表格
<form action="" method="post" enctype="multipart/form-data" id="form">
<input type="text" name="somename" value="24" />
<input type="file" name="fill" />
<input type="button" value="Save" id="save" name="sub" />
</form>
<span id="showmsg">.....waiting......</span>
JS
$(function(){
$("#save").click(function(e){
$("#showmsg").html("submitting form");
$.post("ajax.php",$("#form" ).serialize())
.done(function(data){
$("#showmsg").html("server response: " + data);
})
.fail(function(){
$("#showmsg").html("server fail");
});
e.preventDefault();
});
});