作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我不使用下面的 JavaScript,则页面会在用户上传并单击“提交”后发生更改。 JavaScript 确保页面保持不变。
问题
使用 HTML 和 JavaScript,页面保持不变,这正是我想要的,并且我获得了单选按钮值。但上传不再有效。
问题
由于上传不再起作用,我做错了什么?
当这有效时,我想要 <div id="status">Click upload</div>
更改为<div id="status">Upload complete</div>
如果成功,万一这会改变解决方案。
HTML
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="jquery-2.1.3.min.js"></script>
<script src="stuff.js"></script>
</head><body>
<form enctype="multipart/form-data" action="/cgi-bin/test.py" method="post">
<input type="radio" name="subject" value="red" /> Red
<input type="radio" name="subject" value="green" /> Green
<p>File: <input type="file" name="filename" /></p>
<p><input type="submit" value="Upload" /></p>
</form>
<br/><br/>
<div id="status">Click upload</div>
</body>
</html>
JS
$(document).ready(function(){
var $form = $('form');
$form.submit(function(){
$.post($(this).attr('action'), $(this).serialize(), function(response){
// do something here on success
},'json');
return false;
});
});
最佳答案
您无法使用 $.post
进行 ajax 文件上传,您必须使用 $.ajax
(或原始 XMLHttpRequest)和 FormData目的。在 $.ajax 中使用 formdata 对象作为数据参数需要将 contentType
和 processData
设置为 false
var $form = $('form');
$form.submit(function(){
$.ajax({
url: $(this).attr('action'),
type: $(this).attr('method'),
data: new FormData(this),
contentType: false,
processData: false,
success: function(response){
// do something here on success
},
dataType: 'json'
});
return false;
});
关于javascript - 文件上传后是否可以留在页面上并收到“确定”消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28987087/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!