2011-06-23 50 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