手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:ubuntu

Safari 11.1: ajax/XHR form submission fails when input[type=file] is empty

有时候真不知道苹果都在做些什么。。这次safari的更新会导致 form在使用xhr提交的时候,如果表单里有<input type="file" />但没有选择文件,这时候表单就提交失败了,本文的标题就是stackoverflow上面的人提出的问题。
大部分奇技淫巧(或者说奇巧淫技)都是说,如果判断input type=file,如果length==0,即没有选择文件,就先将它disable掉,然后new FormData后,再将它恢复。
 
原文看这里,提供了两个解决方案,一个是用jquery的,一个是不用的:https://stackoverflow.com/questions/49614091/safari-11-1-ajax-xhr-form-submission-fails-when-inputtype-file-is-empty
 
用JQuery:
JavaScript代码
  1. var $form = $('form')  
  2. var $inputs = $('input[type="file"]:not([disabled])', $form)  
  3. $inputs.each(function(_, input) {  
  4.   if (input.files.length > 0) return  
  5.   $(input).prop('disabled'true)  
  6. })  
  7. var formData = new FormData($form[0])  
  8. $inputs.prop('disabled'false)  
 
 
不用:
JavaScript代码
  1. var form = document.querySelector('form')  
  2. var inputs = form.querySelectorAll('input[type="file"]:not([disabled])')  
  3. inputs.forEach(function(input) {  
  4.   if (input.files.length > 0) return  
  5.   input.setAttribute('disabled''')  
  6. })  
  7. var formData = new FormData(form)  
  8. inputs.forEach(function(input) {  
  9.   input.removeAttribute('disabled')  
  10. })  
 
为什么safari还不更新????
更详细 更多的回复,直接看原文吧
 
 

一月回顾

总感觉好象本月没做啥事情啊,其实上个月也没做啥事情,只是为什么都得到1点多才睡呢?真奇怪

 
本月做的事情太少了,或者说都是碎片化的事情,比如花上一晚上写个微信投票啥的,解决别人几十个BUG,埋掉了别人的一些坑之类的
 
真心感觉没有什么可以做的。这一个月就这么浑浑噩噩的过去了。然后就最近这几天在看看Swift,在朋友的帮忙下看看几千行的OC代码,感觉不能急进,还是慢慢来吧
 

新的一年的三八节

今天是所有女性的节日,当然也是我老婆和我妈的节日。祝他们节日快乐

虽然今年的关于38的段子特别多,但我并不想一一转贴,男同胞也好,女同胞也好,都快乐吧。虽然,我们办公室现在一个女同胞都没有了(都放假了。。)

发个牢骚

发个大牢骚,github被墙了。我艹,你TMD墙了这个站,我纠结啊。很多事情都没有办法做了。
下个phpredis,打不开
想看astaxie写的关于go的文档打不开
想。。。。。打不开

我日啊。github怎么得罪你了?难道就是因为有12306的插件挂在上面?

生日快乐

生日一直是过阴历的,所以老婆也不知道我具体是哪一天。
反而,一大早老爸电话过来说生日快乐 .一下子心情感到激动又羞愧,他们生日的时候,我却也只是一个电话过去而已。

本来约定要吃穷某人的,结果因为老丈人、丈母娘发烧,小朋友拉肚子,老婆身体不舒服,所以放弃了这个伟大的计划,回家带小孩了。当然,照顾完小孩睡觉后。去楼下的小摊上叫了瓶啤酒,点了两个菜。算是过了生日。

然而,令人震精的事情发生了。。某些人居然在微博上炫耀:

最后的海豹我们的目标,吃穷@颓废小魔,喝穷@膘叔,膘叔,你的牛肉在我这里,欢迎自提,啊哈哈哈,btw,生日快乐

转发(3)| 收藏| 评论 5分钟前 来自小米手机

颓废小魔微博达人 @膘叔 看! 我在:http://t.cn/zll6jsA

上海市,闵行区,姚虹路 - 显示地图

转发| 收藏| 评论 44分钟前 来自iPhone客户端

颓废小魔微博达人 @膘叔 看 我在:http://t.cn/zll6WlO

转发| 收藏| 评论 45分钟前 来自iPhone客户端

你说说看, 这个素质 .。。。真不厚道

Records:42123456789