2011-06-23 51 views
1

我在屏幕上输出一些html,主要是输入字段。我正在寻找混淆标记中的输入位置,并在页面加载时重新定位它们。我正在这样做,以防止垃圾邮件机器人在屏幕上输入值。如果他们随机输出,它应该有助于防止这种情况!混淆输入字段的位置

我在我的c#web应用程序中使用jquery。

关于我如何实现上述目标的任何提示信息?

+0

我不想使用屏幕阅读器访问您的网站,或尝试使用Tab键从一个字段移动到另一个字段... – RichieHindle

+3

您是否考虑过[CAPTCHA](http://en.wikipedia.org/维基/ CAPTCHA)? – MikeM

+1

如何使用CAPTCHA预防垃圾邮件机器人? –

回答

2

因为评论中提到的原因,我不认为你的理由证明你是这样做的理由。但是,假设您有充分的理由这样做(一个例子可能是混淆测验问题的顺序,以致难以在线测试中作弊),但这仍然是一个有趣的问题。

假设你有一个id =“container”的容器,它有儿童所有可以用class =“reorderable”重新排序的元素。这样的一个例子是将是:

<div id="container"> 
    <div class="reorderable">1</div> 
    <div class="reorderable">2</div> 
    <div class="reorderable">3</div> 
    <div class="reorderable">4</div> 
</div> 

然后,可以以随机的顺序这些元素重新添加到该容器元件与下面的JQuery代码:

var reorderables = $('#container .reorderable'); 
var reorderablesLength = reorderables.size(); 

while(reorderables.size() > 0){ 
    var rand = Math.floor(Math.random()*reorderables.size()) 
    $('#container').append(reorderables.splice(rand, 1)); 
} 

Here是测试此提琴。

+0

+1提供额外的保护,以解决和解决有效的使用案例。 – Yardboy