Я не могу получить атрибут onclick на переключателях для выполнения функций JavaScript

0

Ну, как говорит мой заголовок, у меня есть небольшая трудность при выполнении функций javascript с помощью переключателей. Мне бы очень хотелось, чтобы всплывающее окно с предупреждающим ящиком выбирало переключатель, но мой код, кажется, когда-либо работал против моих "любви". Пожалуйста, помогите мне.

Здесь мой HTML, это немного.

<!DOCTYPE html>
<html>
<head>
    <title>Question One</title>
    <link type = "text/css" rel = "stylesheet" href = "QuestionOne.css">
    <script src = "QuestionOne.js"></script>
</head>
<body>
    <div id = "question">
        <h1>Question One</h1>
        <p>Calculate the area of a circle or a cube</p>
        <form id = "mainForm">
            <fieldset>
                <legend>Choose shape to find area</legend>
                    <label><input type = "radio" name = "shape" value = "Circle" onclick = "checkRadios()" />Circle</label>
                    <br />
                    <label><input type = "radio" name = "shape"  value = "Cube" onclick = "checkRadios()" />Cube</label>
            </fieldset>
        </form>
    </div>
    <div id = "solution">
    </div>
</body>
</html>

и вот javascript

var radios = document.getElementsByName("shape");
var len = radios.length;

function checkRadios()
{
    for(int i = 0; i < len; i++)
    {
        if(radios[i].checked)
        {
            alert(radios[i].getAttribute("value") + " selected.");
        }
    }
}

Я чувствую, что мне нужно добавить это, я просто новичок в js и буду признателен, если помощь не слишком сложна. т.е. я просто хочу базовый javascript без каких-либо библиотек, таких как jquery, так как мне будет сложно понять в данный момент.

Теги:
function
alert

2 ответа

0

Попробуйте этот метод.

JavaScript:

var currentValue = 0;
function checkRadios(myRadio) {
    alert('Old value: ' + currentValue);
    alert('New value: ' + myRadio.value);
    currentValue = myRadio.value;
}

HTML:

<input type = "radio" name = "shape" value = "Circle" onclick = "checkRadios(this)" />

См. Обработчик события OnChange для переключателя (INPUT type = "radio") не работает как одно значение

0

Возможно, вы захотите запустить браузер с помощью таких инструментов разработчика, как chrome или firefox.

Используйте var вместо int для цикла for.

Кроме того, len было 0, когда я его запустил. Поэтому вы можете проверить это и в цикле.

for(var i = 0; i < radios.length; i++)
{
    if(radios[i].checked)
    {
        alert(radios[i].getAttribute("value") + " selected.");
    }
}

смотрите также:

  • 0
    Я не могу поверить, я использовал Int вместо VAR. На самом деле я могу, так как я JS Noob. Во всяком случае, большое спасибо. Объединив ваше решение и решение cederlof, мне удалось получить диалоговые окна с предупреждениями. Я уверен, что могу продолжить работу над моим проектом, благодаря вашей помощи. Весьма признателен.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню