|
|
|
| Добрый день.
Нашел в интересную Capcha, но она почему-то во всех браузерах IE выдает, что проверка не пройдена.
Исходник с сайта...
В других браузерах (Opera, FF, Chrome) все отлично.
Вот код, который использую:
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript" src="js/ui.core.js"></script>
<script type="text/javascript" src="js/ui.sortable.js"></script>
<script type="text/javascript">
$(function(){
$.fn.shuffle = function() {
return this.each(function(){
var items = $(this).children();
return (items.length)
? $(this).html($.shuffle(items,$(this)))
: this;
});
}
$.fn.validate = function() {
var res = false;
this.each(function(){
var arr = $(this).children();
res = ((arr[0].innerHTML=="1")&&
(arr[1].innerHTML=="2")&&
(arr[2].innerHTML=="3")&&
(arr[3].innerHTML=="4")&&
(arr[4].innerHTML=="5")&&
(arr[5].innerHTML=="6"));
});
return res;
}
$.shuffle = function(arr,obj) {
for(
var j, x, i = arr.length; i;
j = parseInt(Math.random() * i),
x = arr[--i], arr[i] = arr[j], arr[j] = x
);
if(arr[0].innerHTML=="1") obj.html($.shuffle(arr,obj))
else return arr;
}
});
$(function() {
$("#sortable").sortable();
$("#sortable").disableSelection();
$('#sortable').shuffle();
$("#formsubmit").click(function(){
if($("#sortable").validate())
{
document.getElementById("test_zone").submit();
}
else { alert("Необходимо заполнить все обязательные поля!"); }
});
});
</script>
|
Проверка производиться тут:
$("#sortable").validate()
|
HTML часть:
<ul id="sortable">
<li class="captchaItem">1</li>
<li class="captchaItem">2</li>
<li class="captchaItem">3</li>
<li class="captchaItem">4</li>
<li class="captchaItem">5</li>
<li class="captchaItem">6</li>
</ul>
|
Подскажите, возможно ли исправить данный баг?
Заранее спасибо... | |
|
|
|
|
|
|
|
для: maxfade
(12.10.2011 в 14:40)
| | Небольшое дополнение, эта проблема только в IE 6 и 7...
Временно сделал другую капчу для старого осла, но интересует как это победить? | |
|
|
|