Tag: JavaScript

如何确保<select>表单字段在禁用时提交?

我有一个select表单域,我想标记为“只读”,因为在用户不能修改的值,但价值仍然提交的forms。 使用disabled属性可防止用户更改该值,但不会将该值与表单一起提交。 readonly属性只能用于input和textarea字段,但基本上是我想要的。 有什么办法可以做到吗? 我正在考虑的两种可能性包括: 而不是禁用select ,禁用所有的option并使用CSS灰色select,所以它看起来像它的禁用。 向提交button添加一个点击事件处理程序,以便在提交表单之前启用所有禁用的下拉菜单。

如何通过引用将JavaScript对象复制到新variables?

我在这里写了一个快速jsfiddle,在这里我将一个小的json对象传递给一个新的variables,并修改原始variables(不是新variables)的数据,但新variables的数据也被更新。 这一定意味着json对象是通过引用传递的,对吧? 这是我的快速代码: var json_original = {one:'one', two:'two'} var json_new = json_original; console.log(json_original); //one, two console.log(json_new); //one, two json_original.one = 'two'; json_original.two = 'one'; console.log(json_original); //two, one console.log(json_new); //two, one 有没有办法做一个JSON对象的深层副本,以便修改原始variables不会修改新variables?

在Internet Explorer中触发window.resize事件

如您所知,在Internet Explorer中, window.resize事件在页面上的任何元素被resize时触发。 通过分配/改变其高度或样式属性,通过简单地添加一个子元素,或者其他 – 即使元素resize不影响视口本身的尺寸,页面元素是否被resize并不重要。 在我的应用程序中,这是一个令人讨厌的recursion,因为在我的window.resize处理程序中,我调整了一些<li>元素,这又重新激发了window.resize等等。再次,这只是IE中的一个问题。 有没有什么办法来防止window.resize在IE浏览器响应被调整页面上的元素? 我还应该提到我正在使用jQuery。

如何使用链接来调用JavaScript?

如何使用链接调用JavaScript代码?

JavaScript等价于PHP爆炸()

我有一个string,看起来像这样: 0000000020C90037:TEMP:数据 我需要抓住第一个冒号后面的所有内容,这样我才有TEMP:data。 我不经常使用Javascript,如果它是PHP我会这样做: $str = '0000000020C90037:TEMP:data'; $arr = explode(":", $str); $var = $arr[1].":".$arr[2];

在页面重新加载之后,如何使用twitter引导保持当前选项卡处于活动状态?

我目前正在使用Twitter Bootstrap的标签,并希望在用户发布数据和页面重新加载后select相同的标签。 这是怎么做的? 我目前打电话给标签看起来像这样: <script type="text/javascript"> $(document).ready(function() { $('#profileTabs a:first').tab('show'); }); </script> 我的标签: <ul id="profileTabs" class="nav nav-tabs"> <li class="active"><a href="#profile" data-toggle="tab">Profile</a></li> <li><a href="#about" data-toggle="tab">About Me</a></li> <li><a href="#match" data-toggle="tab">My Match</a></li> </ul>

我如何使用jQuery的form.serialize但排除空字段

我有一个search表单与一些文本input和下拉通过提交GET。 我希望有一个更干净的searchurl,通过删除查询string中的空字段执行search时。 var form = $("form"); var serializedFormStr = form.serialize(); // I'd like to remove inputs where value is '' or '.' here window.location.href = '/search?' + serializedFormStr 任何想法如何使用jQuery做到这一点?

JavaScript数据格式/漂亮的打印机

我试图find一种方法来pretty print JavaScript数据结构以可读的forms进行debugging。 我有一个相当大而复杂的数据结构存储在JS中,我需要编写一些代码来操纵它。 为了弄清楚我在做什么以及在哪里出错,我真正需要的是能够看到整个数据结构,并且在我通过UI进行更改时进行更新。 所有这些东西,我可以处理自己,除了find一个很好的方法来将JavaScript数据结构转储为可读的string。 JSON会做,但它确实需要很好地格式化和缩进。 我通常使用Firebug的优秀的DOM倾销的东西,但我真的需要能够看到整个结构,这似乎不可能在Firebug。 任何build议,欢迎。 提前致谢。

两个对象之间的generics深度差异

我有两个对象: oldObj和newObj 。 oldObj中的数据用于填充表单, newObj是用户更改此表单中的数据并提交它的结果。 两个对象都很深,即。 它们的属性是对象或对象数组等等 – 它们可以是n级深度的,因此diffalgorithm需要recursion。 现在我不仅需要oldObj到newObj变化情况(如添加/更新/删除),还要了解如何更好地表示它。 到目前为止,我的想法是build立一个genericDeepDiffBetweenObjects方法,该方法将返回格式为{add:{…},upd:{…},del:{…}}但后来我想:否则之前一定需要这个。 所以…有没有人知道一个库或一段代码将做到这一点,也许有一个更好的方式来表示不同(以仍然是JSON序列化的方式)? 更新: 我想通过使用与newObj相同的对象结构来更好地表示更新的数据,但将所有属性值转换为表单上的对象: {type: '<update|create|delete>', data: <propertyValue>} 所以如果newObj.prop1 = 'new value'和oldObj.prop1 = 'old value'它会设置returnObj.prop1 = {type: 'update', data: 'new value'} 更新2: 由于数组[1,2,3]应该被计算为等于[2,3,1] ,这对于基于值的数组(如string)来说足够简单, int&bool,但是当涉及像对象和数组这样的引用types的数组时,真的很难处理。 应该find相同的示例数组: [1,[{c: 1},2,3],{a:'hey'}] and [{a:'hey'},1,[3,{c: 1},2]] 检查这种深刻的价值平等不仅是相当复杂的,而且也是想出一个很好的方式来表示可能发生的变化。

点击<a>链接时如何显示确认对话框?

我想要这个链接有一个JavaScript对话框询问用户“ 你确定吗? 是/否 “。 <a href="delete.php?id=22">Link</a> 如果用户点击“是”,链接应该加载,如果“否”,什么都不会发生。 我知道如何在窗体中使用onclick运行返回true或false的函数。 但是,我怎么做一个<a>链接?