Как бы я написал JavaScript, который учитывает несколько переключателей, и переменная выходит зависит от того, какой переключатель был выбран?

0

Как и в названии, я пытаюсь написать JavaScript, на котором учитываются несколько переключателей (<input type="radio">), а переменная выходная зависит от того, какой переключатель был выбран, а затем отображать результаты по запросу <button> html <button>. Я исследовал попытку найти код JavaScript, который будет содержать то, что я пытаюсь сделать, и до сих пор это то, что я нашел: var myFunc = function() {alert ('1');
}; };

myFunc(); // alerts '1'

var myFunc = function () {
    alert('2');  
};

myFunc(); // alerts '2'

а также

<script>
function myFunction()
{
document.getElementById("demo").innerHTML="PASSED!";
}
</script>
</head>
<body>

<p>Click the button to trigger a function.</p>

<button onclick="myFunction()">Click me</button>

<p id="demo"></p>

а также

var checked = false, radios = document.getElementsById('radiogroup1');
for (var i = 0, radio; radio = radios[i]; i++) {
    if (radio.checked) {
        checked = true;
        break;
    }
}

if (!checked) {
    alert("Please select option one");
    radios.focus();
    return false;
}

return true;

Затем я попытался объединить все это в функциональный код и получил следующее:

'<head>
 <script type="text/javascript">
    var myFunc = function ('1') {
        var checked = false, radios = document.getElementById('_pass1');
        var checked = false, radios = document.getElementById('_pass2');
        var checked = false, radios = document.getElementById('_pass3');
        var checked = false, radios = document.getElementById('_pass4');
    for (var i = 0, radio; radio = radios[i]; i++) {
        if (radio.checked) {
            checked = true;
            document.getElementById('pass_fail_').innerHTML="PASSED!";
            break;
        }
    }

    if (!checked) {
        alert("Please select all options");
        radios.focus();
        return false;
    }

    return true;
    break;

    var myFunc = function ('2') {
        var checked = false, radios = document.getElementById('_pass1');
        var checked = false, radios = document.getElementById('_pass2');
        var checked = false, radios = document.getElementById('_pass3');
        var checked = false, radios = document.getElementById('_fail4');
    for (var i = 0, radio; radio = radios[i]; i++) {
        if (radio.checked) {
            checked = true;
            document.getElementById('pass_fail_').innerHTML="PASSED!";
            break;
        }

    }

    if (!checked) {
        alert("Please select all options");
        radios.focus();
        return false;
    }

    return true;
    break;

 myFunc('1); // function '1', function '2', function '3', function '4',            function '5', function '6', function '7', function '8', function '9', function '10', function '11', function '12', function '13', function '14', function '15', function '16'        </script>                           
'</head>
'<body>
    <p><b>Important Text</b></p>
    </br>
    <form id="_form_3">
        <input type="radio" name="grade" id="_pass3" value="pass"><font color="green">Pass</font></br>
        <input type="radio" name="grade" id="_fail3" value="fail"><font color="red">Fail</font>
    </form>
    <p>COmments</p>
    <textarea cols="95" rows="15">
    </textarea>
    </br>
    <hr>
    <p><b>Step, Slide, Switch</b><p>
    </br>
    <form id="_form_4">
        <input type="radio" name="grade" id="_pass4" value="pass"><font color="green">Pass</font></br>
        <input type="radio" name="grade" id="_fail4" value="fail"><font color="red">Fail</font>
     </form>
     <p>Comments</p>
     <textarea cols="95" rows="15">
     </textarea>
     </br>
     <hr>
     </form>
     <button onclick="myFunc('1')">PRESSS ME!</button>
     <p id="pass_fail_"></p>
'</body>
 '</html>

Теперь это не сработало и, очевидно, не хватает некоторых частей, которые я удержал, чтобы попытаться ограничить напряжение глаз (все оставшиеся части следовали вдоль аналогичной строки того, что было общим), но было ли это ошибкой в части JavaScripts или моих навыках кодирования, наклонившись к последнему, я не знаю. Как и в названии, я пытаюсь написать JavaScript, на котором учитываются несколько переключателей (<input type="radio">), а переменная выходная зависит от того, какой переключатель был выбран, а затем отображать результаты по запросу <button> html <button> и у меня есть второй вопрос, который относится к первому. Может ли JavaScript запустить сценарий скважины, чтобы делать то, что я пытаюсь сделать, или я должен использовать flash или язык.net?

  • 1
    Java! = Javascript
  • 0
    Вау! Это много ошибок!
Теги:

1 ответ

2

При запуске рекомендуется писать одну или две строки кода и заставить их работать. Затем постепенно добавляйте больше кода, проверяйте и запускайте их. Написание плиток нерабочего кода не является эффективным подходом.

Некоторые комментарии:

> var myFunc = function () {
>   alert('1');
> };

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

function myFunc() {...}

Тогда есть:

> var checked = false, radios = document.getElementsById('radiogroup1');

Метод, который вы ищете, - document.getElementById, примечание сингулярное, а не множественное. Если у вас есть набор переключателей с тем же именем, вы можете использовать:

var radios = document.getElementsByName(name);

или если они находятся в форме:

var radios = document.forms[n][name];

а также

> var myFunc = function ('2') {

Список формальных параметров должен состоять из нулевого или более допустимых идентификаторов, который не является одним. Идентификаторы не могут быть строковыми литералами или начинаться с числа. И используйте объявление функции:

function myFunc (a2) {
  ... 
}

Затем здесь:

> var checked = false, radios = document.getElementById('_pass1');
> var checked = false, radios = document.getElementById('_pass2');

Здесь вы присваиваете значения тем же переменным, проверенные и радиоприемники будут иметь значение того, что присваивает им последнее назначение.

>    if (radio.checked) {
>        checked = true;
>        document.getElementById('pass_fail_').innerHTML="PASSED!";
>        break;
>    }

Здесь вы можете удалить проверенную переменную и оператор break и просто вернуть true, тогда вам не потребуется следующее: если оно будет достигнуто только в том случае, если отмечено false.

    if (radio.checked) {
      document.getElementById('pass_fail_').innerHTML="PASSED!";
      return true;
    }

    alert("Please select all options");
    radios.focus();
    return false;

Ещё вопросы

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