Ajax表单同时提交输入数据和文件而不响应
Ajax Form submit both input data and file no response
我有一个表单,需要提交文件和输入数据。我使用jQuery验证器检查表单,然后提交。
<form method="POST" id="form_1" action="../api.php" enctype="multipart/form-data" novalidate="novalidate">
<input type="text" name="name" id="name" value="Amy" readonly="readonly">
<input id="fileBox" class="fileUpload" type="file" name="img" accept="image/*" required>
<input type="hidden" name="isSubmit" value="1"/>
</form>
<a id="btnSubmit" href="javascript:void(0)">Submit</a>
$("#btnSubmit").click(function(){
if ($("#form_1").valid()){ //jquery validator to check the form
$("#form_1").submit(function() {
var formData = new FormData(($this)[0]);
$ajax({
type: "POST",
url: "../../api.php",
data: {
action:"formSubmit",
formData:formData
}
}).done(function(data){
data = $.parseJSON(data);
});
});
}
});
为什么点击btnSubmit
没有响应?我的代码有什么问题?有人能帮我吗?
$("#form_1").submit(function(){ ... });
不触发提交,它只注册对提交作出反应的事件处理程序。相反,你应该先注册你的事件处理程序,然后在点击事件中触发它:
// at first you register event handler for when the form is submitted
$("#form_1").submit(function(){
var formData = new FormData(($this)[0]);
$ajax({
type: "POST",
url: "../../api.php",
data: { action:"formSubmit", formData:formData}
}).done(function(data){
data = $.parseJSON(data);
});
});
$("#btnSubmit").click(function(){
if($("#form_1").valid()){
// inside click event handler you trigger form submission
$("#form_1").trigger('submit');
}
});
相关文章:
- 使用压缩的JavaScript文件(不是运行时压缩)
- PERL-下载CSV文件不完整
- AJAX上传文件不起作用
- 在Hapi.js中提供静态JavaScript文件不起作用
- 基于类的单击事件在10行之后不响应-数据表
- Javascript的行为与PHP包含文件不一致
- 如果文件不存在,fs.watch是否有错误处理程序
- 从HTML链接时,Javascript文件不起作用
- 获取从 .post() 到 PHP 文件的响应,但只能在 MVC 中获取
- Haskell调用Node.js文件不起作用
- 如何使用 Node.js 下载文件(不使用第三方库)
- Expressjs 静态文件不起作用
- 为什么PHP文件不用于(自定义)CSS和JS
- 使用 WebAPI 和 IE8/9 上传剑道文件不正确的错误消息
- NodeJS和ExpressJS-Javascript文件加载,但CSS文件不加载;t
- 通过ajax上传文件不会在MVC中的请求中附加文件
- 使用chrome.downloads.download,是否可以使文件不弹出下载栏
- 从站点读取的文件's的响应没有'与实际文件不完全匹配
- Ajax表单同时提交输入数据和文件而不响应
- PyCharm不响应我在JavaScript文件中的更改