Можно ли собирать данные о проверенных или непроверенных флажках в HTML? - PullRequest
0 голосов
/ 08 сентября 2011

Я смотрю на создание очень простой HTML-страницы, которая содержит HTML-форму с рядом флажков и полей ввода.Страница будет примерно такой:

Input Forename ==== Input Surname ==== Input ID =====Text checkbox1 value1 TextText checkbox2 value2 TextText checkbox3 value3 TextText checkbox4 value4 TextOutput Text valueOutput Text valueOutput Text valueOutput Text value

В зависимости от того, какие значения отмечены (т. Е. Значение 1/2/3/4), затем вычисляется значение рядом с ним (для аргументов, скажем, оно умножено на 2), а затем выводится ниже (где оноговорит значение «Вывести текст»).Извиняюсь, если это не соответствует «вопросу», но вы понимаете, что я имею в виду под «сбором» данных (т. Е. Значением рядом с флажком).

Мой вопрос, таким образом, можно ли использовать JavaScript, чтобы сказать, если флажок tickbox1 установлен, пожалуйста, используйте "value1"?Как только все это будет завершено, на странице просто должна быть кнопка «печать» (что нормально).Нет необходимости выполнять какие-либо вспомогательные операции и захватывать данные.

Надеюсь, что это имеет смысл, и заранее спасибо

РЕДАКТИРОВАТЬ: Конечно, если это сделать намного проще с чем-то вродеJQuery Я был бы рад изучить это!

Ответы [ 2 ]

0 голосов
/ 08 сентября 2011

Ну, вы можете попробовать что-то вроде этого (не проверено):

var total = 0;    
for (int i = 0;i < 10;i++)
       {
           var checkbox = document.getElementById("checkbox" + String.ValueOf(i));
           if (checkbox.checked)
              {
                  var valuebox = document.getElementById("value" + String.ValueOf(i));
                  total += (valuebox.value * 2);
              }
       }
0 голосов
/ 08 сентября 2011

Этот код должен вам помочь!

Questions [] - это массив со всеми полями ввода, getElementsByName проходит через все элементы с одинаковыми именами (например, все радиоблоки имеют одинаковое имя), затем выясняет, какой из них отмечен, и затем использует это значение.

Ответы [] - массив с сохраненными значениями в.

for (var i = 0; i < questions.length; i++) {

    //Does the question name have more than one instance? (That would make it a checkbox or radio button...
    if (document.getElementsByName(questions[i]).length > 1) {
        //Lets loop through all these values and find out which one is selected, and then grab the value from it.
        var x = document.getElementsByName(questions[i])
            for(var k=0;k<x.length;k++)
            if(x[k].checked){ //This is where it loops to find the checked answer
                    answers[i] = x[k].value;
            //alert("radio saved " + answers[i]);
            }
    }
    //Nope, only once, so its a text field or similar
    else {
        answers[i] = document.getElementById("answer" + questions[i]).value;
        //alert("text saved " + answers[i]);
    }
}

Надеюсь, это поможет!

Таким образом, чтобы использовать это в своих вычислениях (скажем, сделать его двойным), вы можете позвонить

var answertoyourquestion = answers[i] + answers[i];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...