Я пытаюсь создать страницу, которая позволит пользователю выбрать максимум 8 из 20 флажков в определенном порядке в одной форме.
Я пытаюсь создать страницу, которая будет доступна для просмотра только в том случае, если нажата правильная последовательность флажков, и это отличный способ, позволяющий только тем, у кого есть последовательность флажков, на определенной части моего сайта.
Что мне нужно знать, как только они установят флажки, как я могу не только передать их на тестовую страницу для просмотра данных, но также и как передать данные, показывающие точную последовательность того, как флажки были отмечены .
Пример. Флажки пронумерованы один из двадцати. Если они выбирают checkbox1, checkbox4, checkbox2, checkbox7 и т. Д., Я хочу, чтобы данные передавались в проверенном порядке, 1,4,2,7 и т. Д.
Пока у меня есть готовая форма, я хотел бы знать, что мне нужно добавить в javascript, чтобы передать переменные точно так, как проверено.
Вот Javascript:
<script type="text/javascript">
<!--
//initial checkCount of zero
var checkCount=0
//maximum number of allowed checked boxes
var maxChecks=3
function setChecks(obj){
//increment/decrement checkCount
if(obj.checked){
checkCount=checkCount+1
}else{
checkCount=checkCount-1
}
//if they checked a 4th box, uncheck the box, then decrement checkcount and pop alert
if (checkCount>maxChecks){
obj.checked=false
checkCount=checkCount-1
alert('you may only choose up to '+maxChecks+' options')
}
}
//-->
</script>
<script type="text/javascript">
<!--
$(document).ready(function () {
var array = [];
$('input[name="checkbox"]').click(function () {
if ($(this).attr('checked')) {
// Add the new element if checked:
array.push($(this).attr('value'));
}
else {
// Remove the element if unchecked:
for (var i = 0; i < array.length; i++) {
if (array[i] == $(this).attr('value')) {
array.splice(i, 1);
}
}
}
// Clear all labels:
$("label").each(function (i, elem) {
$(elem).html("");
});
// Check the array and update labels.
for (var i = 0; i < array.length; i++) {
if (i == 0) {
$("#" + array[i].toUpperCase()).html("1");
}
if (i == 1) {
$("#" + array[i].toUpperCase()).html("2");
}
if (i == 2) {
$("#" + array[i].toUpperCase()).html("3");
}
if (i == 3) {
$("#" + array[i].toUpperCase()).html("4");
}
if (i == 4) {
$("#" + array[i].toUpperCase()).html("5");
}
if (i == 5) {
$("#" + array[i].toUpperCase()).html("6");
}
if (i == 6) {
$("#" + array[i].toUpperCase()).html("7");
}
if (i == 7) {
$("#" + array[i].toUpperCase()).html("8");
}
}
});
});
//-->
</script>
Вот пример полей ввода:
<td width="20" align="center" valign="middle"><label id="1"></label><input name="checkbox" type="checkbox" value="1" onclick="setChecks(this)"/></td>
<td width="20" align="center" valign="middle"><label id="2"></label><input name="checkbox" type="checkbox" value="2" onclick="setChecks(this)"/></td>
<td width="20" align="center" valign="middle"><label id="3"></label><input name="checkbox" type="checkbox" value="3" onclick="setChecks(this)"/></td>
<td width="20" align="center" valign="middle"><label id="4"></label><input name="checkbox" type="checkbox" value="4" onclick="setChecks(this)"/></td>
<td width="20" align="center" valign="middle"><label id="5"></label><input name="checkbox" type="checkbox" value="5" onclick="setChecks(this)"/></td>
and so on up to 20
Я - нуби, и я собрал то, что у меня есть, из разных источников.
У меня возникают проблемы с пониманием того, как получить данные массива из второго фрагмента javascript и передать их на php-страницу, которую мне нужно создать, чтобы отобразить ее, чтобы проверить, действительно ли она проходит по переменные в том порядке, в котором они были нажаты.
Буду признателен за любую помощь.