2011-04-29 49 views
1

以下是我们其中一页的摘录。我认为这是非常复杂,令人困惑,并且在设计上存在缺陷。首先,它会在IE中产生一条消息,表明该页面正试图访问剪贴板。有什么我失踪?除了我可以评估的这个javascript是否有任何合乎逻辑的用途?

我想我的问题是;可以认为这完全是过度杀伤力吗?我有权受挫吗?还是我忘了一些更高的知识?

function NoEmailGiven(){ 

    var copyval 

    document.frm1.NoEmail.focus(); 
    document.frm1.NoEmail.select(); 
    copyval=document.SCPACALL.NoEmail.createTextRange(); 
    copyval.execCommand('Copy'); 
    document.frm1.Email1.focus(); 
    document.frm1.Email1.select(); 
    document.execCommand('Paste'); 
    document.frm1.Email2.focus(); 
    document.frm1.Email2.select(); 
    document.execCommand('Paste'); 

} 

response.write "<INPUT TYPE=button name=NoEmail VALUE=""None"" Title=""Click if No Email Address"" ONCLICK=""NoEmailGiven""></td></tr>" 
  • 这里是页面应该做的事..

如果用户点击标记,然后自动填充EMAIL1 &电子邮件2的“如果没有电子邮件地址,请点击这里”按钮文字字符串'无'

  • 这里是伪代码,因为我已经从它的页面使用中计算出它的实际内容实际上呢。

如果用户单击按钮标记为“点击这里如果没有电子邮件地址”复制这个按钮,这是“无”到客户端的剪贴板中的值,然后从剪贴板粘贴到EMAIL1 &电子邮件2

  • 最后:我会写(只复制的过程,而不是改善或改变形式向用户)

    function NoEmailGiven() { Email1.value = "None"; Email2.value = "None"; }

+3

哇。您应该将此发送给The Daily WTF。 – ThatMatthew 2011-04-29 17:35:37

+1

这就足以支持一支小军队......是的,无论谁写这篇文章都需要打屁股。 – pixelbobby 2011-04-29 17:35:39

+0

我希望可以理解,在审查我的前任代码时,我的基本假设是他出于某种我可能不了解的原因做了这件事。我想理解这样一个理由,即不要为了一个真正合法的理由撤消任何事情。 – 2011-04-29 17:37:01

回答

3

是的,这是一个愚蠢的做法。他们显然不知道自己在做什么,也没有意识到复制和粘贴是一种面向用户的概念,而使用代码将一个字段的值复制到另一个字段更有意义。

我想删除它并重写它!

+0

哦,我会爱...爱......展示一些其他开发者在谁的'知道'我看到的所有东西.. – 2011-04-29 17:32:00

+0

你能编辑你的答案是多一点'外交'吗? – 2011-04-29 17:55:35

0

我假设他们试图做的是将数据从一个字段复制到另一个字段。在jQuery中,那将是:

var NO_EMAIL = '.....'; 
function NoEmailGiven() { 
    $('#Email1').val(NO_EMAIL); 
    $('#Email2').val(NO_EMAIL); 
} 
+0

我同意。但是为什么有人会用上面用剪贴板实现的方式来完成它呢?另外,我认为JQuery对于像这样简单的东西是过度的......但是我也可能在那里是错误的。 – 2011-04-29 17:35:07

相关问题