我有一个基本的HTML表单,可以从中获取我在Firebug中查看的一些信息。 我唯一的问题是,我试图对文件数据进行base64编码,然后将其发送到服务器,并将其保存到数据库中。 <input type="file" id="fileupload" /> 并在JavaScript + jQuery中: var file = $('#fileupload').attr("files")[0]; 我有一些基于可用javascript的操作: .getAsBinary(),.getAsText(),.getAsTextURL 但是,这些返回的可用文本都不能返回,因为它们包含不可用的“字符” – 我不希望在上传的文件中发生“回发”,而且需要针对特定对象的多个表单,所以这很重要得到这个文件,并用这种方式使用JavaScript。 我应该如何获得这个文件,我可以使用一个广泛的Javascript base64编码器! 谢谢 更新 – 在这里开始赏金,需要跨浏览器支持! 这是我在哪里: <input type="file" id="fileuploadform" /> <script type="text/javascript> var uploadformid = 'fileuploadform'; var uploadform = document.getElementById(uploadformid); /* method to fetch and encode specific file here based on different browsers */ </script> 几个跨浏览器支持的问题: […]
后者是否简单地引用由自定义构造函数创build的非原始函数对象(例如,var bird1 = new Bird();)?
我试图定制一个现有的JS库,而无需修改原始的JS代码。 这段代码加载了一些我可以访问的外部JS文件,我想要做的是更改原始文件中包含的一个函数,而不是将整个文件复制粘贴到第二个JS文件中。 所以例如,closures限制JS可能有这样的function: var someFunction = function(){ alert("done"); } 我想能够以某种方式追加或prepend一些JS代码到该函数。 原因主要是在原始的不可触摸的JSfunction是相当巨大的,如果JS得到更新,我覆盖它的function将过时。 我不完全确定这是可能的,但我想我会检查。
我知道如何parsing一个JSONstring,并把它变成一个JavaScript对象。 您可以在现代浏览器(和IE9 +)中使用JSON.parse() )。 这很好,但是我怎样才能把这个JavaScript对象变成一个特定的 JavaScript对象(即用一个特定的原型)呢? 例如,假设你有: function Foo() { this.a = 3; this.b = 2; this.test = function() {return this.a*this.b;}; } var fooObj = new Foo(); alert(fooObj.test() ); //Prints 6 var fooJSON = JSON.parse({"a":4, "b": 3}); //Something to convert fooJSON into a Foo Object //……. (this is what I am missing) alert(fooJSON.test() ); //Prints […]
我想在JavaScript中创build一个地图对象。 我来到以下想法: var a = new Array(); a["key1"] = "value1"; a["key2"] = "value2"; 但是我怎么才能find一个特定的钥匙是否存在?
我正在寻找一个相当于Chrome的“打破所有错误”function的萤火虫。 在“脚本”标签中,Chrome浏览器会“暂停所有例外”,但这与打破所有错误并不完全相同。 例如,当用下面的代码加载一个页面时,我希望Chrome在foo.bar = 42这行上foo.bar = 42 。 相反,即使启用“暂停所有例外”,我也没有得到预期的结果。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <script type="text/javascript"> function doError() { foo.bar = 42; } window.onload = function() { try { doError(); } catch (e) { console.log("Error", e); } } </script> </head> <body> </body> </html> 你可以尝试在这个页面上面粘贴的代码或使用这个jsFiddle 。
可能重复: 用javascript计算月份的最后一天 什么是最好的方式来确定一个月的天数与JavaScript? 正如标题所说,我坚持find一种方法来获得当前月份的第一个和最后一个date与JavaScript或jQuery,并格式化为: 例如,十一月它应该是: var firstdate = '11/01/2012'; var lastdate = '11/30/2012';
我第一次使用jQuery.inArray() ,它有点奇怪。 如果对象在数组中,它将返回0,但在Javascript中为0。 所以下面会输出: “不在数组中” var myarray = []; myarray.push("test"); if(jQuery.inArray("test", myarray)) { console.log("is in array"); } else { console.log("is NOT in array"); } 我将不得不将if语句更改为: if(jQuery.inArray("test", myarray)==0) 但是这使得代码不可读。 特别是对于不知道这个function的人。 他会希望jQuery.inArray(“test”,myarray)在“test”在数组中时赋予true。 所以我的问题是,为什么这样做呢? 我真的不喜欢这个。 但是这样做肯定有一个很好的理由。
看起来像requestAnimationFrame是现在animation事件的事实上的方式。 它在大多数情况下工作得非常好,但现在我正在尝试做一些canvasanimation,我想知道:有没有办法确保它以某个fps运行? 我明白,RAF的目的是始终如一地保持stream畅的animation效果,而且我可能会冒着制作animation波涛汹涌的风险,但是现在它似乎以非常不同的速度运行,而且我想知道是否有办法打击不知何故。 我会使用setInterval但我想要优化,RAF提供(尤其是自动停止时,标签在焦点)。 如果有人想看我的代码,这是非常多的: animateFlash: function() { ctx_fg.clearRect(0,0,canvasWidth,canvasHeight); ctx_fg.fillStyle = 'rgba(177,39,116,1)'; ctx_fg.strokeStyle = 'none'; ctx_fg.beginPath(); for(var i in nodes) { nodes[i].drawFlash(); } ctx_fg.fill(); ctx_fg.closePath(); var instance = this; var rafID = requestAnimationFrame(function(){ instance.animateFlash(); }) var unfinishedNodes = nodes.filter(function(elem){ return elem.timer < timerMax; }); if(unfinishedNodes.length === 0) { console.log("done"); cancelAnimationFrame(rafID); instance.animate(); } } Node.drawFlash()只是一些基于计数器variables确定半径的代码,然后绘制一个圆圈。 谢谢!
我正在写密码validation指令: Directives.directive("passwordVerify",function(){ return { require:"ngModel", link: function(scope,element,attrs,ctrl){ ctrl.$parsers.unshift(function(viewValue){ var origin = scope.$eval(attrs["passwordVerify"]); if(origin!==viewValue){ ctrl.$setValidity("passwordVerify",false); return undefined; }else{ ctrl.$setValidity("passwordVerify",true); return viewValue; } }); } }; }); html: <input data-ng-model='user.password' type="password" name='password' placeholder='password' required> <input data-ng-model='user.password_verify' type="password" name='confirm_password' placeholder='confirm password' required data-password-verify="user.password"> 给定一个表单中的2个密码字段,如果两个密码值相等,则指令影响的字段是有效的。 问题是,它的工作方式(即当我在密码validation字段中input密码)。 但是,当更新原始密码字段时,密码validation无效。 任何想法我怎么能有一个“双向绑定validation?”