草庐IT

input-container

全部标签

javascript - 如何从禁用的 <input> 元素中获取表单值

表单的HTML标准似乎是禁用的输入元素不会对表单名称/值集合做出贡献。有什么办法可以解决这个问题吗?我需要能够打开和关闭禁用,但在提交表单时仍会返回任何值。我知道我可以在提交表单之前使用JavaScript将值复制到隐藏的输入,但我不想这样做。有更清洁的方法吗?我使用的是ASP.NET,这不重要。 最佳答案 您应该使用readOnly标志而不是disabled。用户无法编辑只读字段,但仍会随表单一起提交。 关于javascript-如何从禁用的<input>元素中获取表单值,

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

更新:截至Webkitbuildr230963,这个问题已经在Webkit中解决了。===========自从最近在macOS和iOS上更新Safari11.1以及SafariTechnologyPreview11.2以来,当input[type=file]字段没有选择文件(我的表单不需要)。当字段确实选择了文件时没有失败。ajax的error回调运行,Safari控制台包含以下消息:加载资源失败:操作无法完成。协议(protocol)错误。我使用HTTPS并通过HTTPS提交到同一域(和服务器)上的一个位置。在11.1更新之前,$.ajax调用在没有选择文件时提交得很好。最新版本的C

javascript - jQuery "not contains"选择器

:contains()jQuery选择器允许您匹配包含指定文本字符串的查找元素。我想做的似乎是相关的:我为用户提供了一个他们可以输入的“过滤器”文本框,并且我有一组列表项。我想让所有不包含用户在文本框中输入的文本的列表项在用户键入时隐藏。我可以在文本框上监听keyup事件,但我不确定如何做两件事:“反转”:contains()选择器结果——我想选择不匹配的元素,然后隐藏它们。使匹配区分大小写。我突然想到我可以使用.filter(function(index)),但我想知道我是不是想多了——有没有办法用jQuery内置的选择器/函数来完成这个? 最佳答案

javascript - 对象类型上的下划线包含 (_.contains)

我刚刚开始使用Javascript和使用Underscore库。我看到他们有各种各样的实用功能,比如_.contains。有没有办法让这个工作在对象上?varindexes=[{'id':1,'name':'jake'},{'id':4,'name':'jenny'},{'id':9,'name':'nick'},{'id':1,'name':'jake'},{'id':4,'name':'jenny'}];if(_.contains(indexes,{'id':1,'name':'jake'})){console.log("contains");}他们展示的大多数示例都有包含字符串或

javascript - 刷新传单 map : map container is already initialized

我有一个页面,可以让用户选择他可以切换我显示的传单map。初始传单map加载后,我的问题是何时要刷新map。我总是得到“map容器已经初始化”:问题行是:varmap=L.map('mapa').setView([lat,lon],15);最初它加载良好,但是当我在表单中选择另一个参数并想再次显示map时它崩溃了。顺便说一句,我试图在第二个setView()之前用jQuery销毁并重新创建$('#mapa')但它显示相同的错误。 最佳答案 在尝试重新加载map之前尝试map.remove();。这将使用Leaflet的库(而不是jq

javascript - !!~(不是 not not tilde/bang bang tilde)如何改变 'contains/included' 数组方法调用的结果?

如果您阅读jQueryinArray页面上的评论here,有一个有趣的声明:!!~jQuery.inArray(elm,arr)现在,我相信双感叹号会将结果转换为boolean类型,值为true。我不明白的是波浪号(~)运算符在所有这些中有什么用?vararr=["one","two","three"];if(jQuery.inArray("one",arr)>-1){alert("Found");}重构if语句:if(!!~jQuery.inArray("one",arr)){alert("Found");}分割:jQuery.inArray("one",arr)//0~jQuery

javascript - 我可以使用 _lodash 在 AngularJS 中去抖动或限制监视的 &lt;input&gt; 吗?

我有以下功能可以监视绑定(bind)到$scope.id的字段。每次输入字段值更改时,都会执行监视功能:$scope.$watch("id",function(id){//codethatdoessomethingbasedon$scope.id});有没有办法让我对此设置超时或使用_lodash去抖动,以便代码当用户更改值时,不会在每次按键时执行。我想要的是延迟一秒钟,以便在用户停止输入一秒钟后watch内的代码块运行。请注意,输入值是随时可能更改的值。例如,如果值为“1”或“10”或“1000”,我需要调用函数。这类似于Google中带有建议的搜索框的工作方式。如果用户输入999,

javascript - 用户通过&lt;input type ="file"/>选择文件时如何获取文件名?

我以前也看到过类似的问题,但由于安全原因,最终无解。但是今天我看到hostmonster已经成功地实现了这个,当我打开一个工单并在他们的后端附加一个文件时。它适用于firefox和IE(确切地说是版本8)。我已经验证它完全是客户端脚本,没有发送请求(使用Firebug)。现在,我们可以重新考虑这个问题吗? 最佳答案 您可以获得文件名,但无法获得完整的客户端文件系统路径。尝试在change事件中访问文件input的value属性。大多数浏览器只会给你文件名,但也有像IE8这样的异常(exception),它会给你一个假路径,比如:"C

JavaScript DOM : Find Element Index In Container

我需要通过对象引用在其容器内找到元素的索引。奇怪的是,我找不到简单的方法。请不要使用jQuery-只有DOM。ULLILILI-myindexis2LI是的,我可以为每个元素分配ID并遍历所有节点以匹配ID,但这似乎是一个糟糕的解决方案。没有更好的东西吗?所以,假设我有一个对第三个LI的对象引用,如上例所示。我怎么知道它是索引2?谢谢。 最佳答案 您可以使用Array.prototype.indexOf。为此,我们需要将HTMLNodeCollection稍微“转换”为真正的Array。例如:varnodes=Array.proto

javascript - 如何动态创建&lt;input type =“text”/>

我想在我的网络表单中动态创建一个输入类型的文本。更具体地说,我有一个文本字段,用户可以在其中输入所需文本字段的数量;我希望以相同的形式动态生成文本字段。我该怎么做? 最佳答案 使用JavaScript:varinput=document.createElement("input");input.type="text";input.className="css-class-name";//settheCSSclasscontainer.appendChild(input);//putitintotheDOM