Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.03.2013, 18:30
Интересующийся
Отправить личное сообщение для Михендр Посмотреть профиль Найти все сообщения от Михендр
 
Регистрация: 06.11.2012
Сообщений: 17

неправильный скрипт
Здравствуйте! Помогите разобраться со скриптом. Хотел сделать простенькую страницу которая позволяет вычислить сумму или разность 2-ух чисел умноженную на пи, но получилось плохо:
<head>
    <meta charset="utf-8">
</head>
<body>
<form name="numbers">
    <div>Первое число:<br>
        <input type="text" name="number1">
    </div>
    <div>Второе число:<br>
        <input type="text" name="number2">
    </div>
    <div>
        Математическая операция:<br>
        <input type="radio" name="operation" value="plus"> + <br>
        <input type="radio" name="operation" value="minus"> - <br>
    </div>
    <div>Результат:<br>
        <input type="text" name="result">
        <input id="calculate" type="button" value="Посчитать">
    </div>
</form>
<script>
    function value1() {
        var numberOne = document.forms[0].elements.number1.value;
        var numberTwo = document.forms[0].elements.number2.value;
        var oper = document.forms[0].elements.operation;
        var value;
        if (oper.value === 'plus') {
        value = +(numberOne) + (+(numberTwo));
        } else {
            value = +(numberOne) - (+(numberTwo));
        }
        /*var value;
        for (var i = 0; i < oper.length; i++){
        if (oper[i].type === 'radio' &&  oper[i].name === 'operation') {
        //
        value = oper[i].value;
    }

        }*/

    }
     function mathOperByPi(value) {
         return value * Math.PI;
     }
    document.getElementById('calculate').onclick = function(MathOperByPi(value)){
        document.forms[0].elements.result.setAttribute('value', '');
    };


</script>
</body>

если можно поподробнее объясните где ошибки
Ответить с цитированием
  #2 (permalink)  
Старый 13.03.2013, 18:39
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Михендр
   document.getElementById('calculate').onclick = function(MathOperByPi(value)){
Какая-то непонятная конструкция. Может быть так?

document.getElementById('calculate').onclick = function(){
    var result = MathOperByPi(value1());
    document.forms[0].elements.result.value = result;
};


Но функция value1 должна вернуть результат. Сейчас она этого не делает. То есть нужно дописать в конце return value;
Ответить с цитированием
  #3 (permalink)  
Старый 13.03.2013, 18:48
Интересующийся
Отправить личное сообщение для Михендр Посмотреть профиль Найти все сообщения от Михендр
 
Регистрация: 06.11.2012
Сообщений: 17

не, всё равно не получается.
Ответить с цитированием
  #4 (permalink)  
Старый 13.03.2013, 19:11
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Михендр
не, всё равно не получается.
Ну это диагноз значит. Сожалею.
Ответить с цитированием
  #5 (permalink)  
Старый 13.03.2013, 19:12
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Регистр поправьте.
Ответить с цитированием
  #6 (permalink)  
Старый 13.03.2013, 19:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Михендр,
<!DOCTYPE HTML>

<html>

<head>
    <meta charset="utf-8">
</head>
<body>
<form name="numbers">
    <div>Первое число:<br>
        <input type="text" name="number1">
    </div>
    <div>Второе число:<br>
        <input type="text" name="number2">
    </div>
    <div>
        Математическая операция:<br>
        <input type="radio" name="operation" value="plus" > + <br>
        <input type="radio" name="operation" value="minus"> - <br>
    </div>
    <div>Результат:<br>
        <input type="text" name="result">
        <input id="calculate" type="button" value="Посчитать">
    </div>
</form>
<script>
    function value1() {
        var numberOne = +document.forms[0].number1.value||0;
        var numberTwo = +document.forms[0].number2.value||0;
        var oper = document.forms[0].operation[1].checked ? document.forms[0].operation[1]:document.forms[0].operation[0];
        var value;
        if (oper.value === 'plus') {
        value = numberOne + numberTwo;
        } else {
            value = numberOne - numberTwo;
        }
    return  value

    }
     function mathOperByPi(value) {
         return value * Math.PI;
     }
    document.getElementById('calculate').onclick = function(){
    document.forms[0].result.value = mathOperByPi(value1());
    };


</script>
</body>

</html>
Ответить с цитированием
  #7 (permalink)  
Старый 13.03.2013, 20:13
Интересующийся
Отправить личное сообщение для Михендр Посмотреть профиль Найти все сообщения от Михендр
 
Регистрация: 06.11.2012
Сообщений: 17

Огромное спасибо! Ща буду разбирать где я ошибался
Ответить с цитированием
  #8 (permalink)  
Старый 14.03.2013, 05:56
Профессор
Отправить личное сообщение для Гробовщик Посмотреть профиль Найти все сообщения от Гробовщик
 
Регистрация: 10.03.2013
Сообщений: 169

1+2=9.42477796076938, а чё математику изменили да? Всё шаблон порван, восстановлению не подлежит
Ответить с цитированием
  #9 (permalink)  
Старый 14.03.2013, 07:25
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Скорее чей-то мозг слегка порван
Сообщение от Михендр
...позволяет вычислить сумму или разность 2-ух чисел умноженную на пи
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему скрипт не работает с данными, которые вернул другой скрипт? Rooner jQuery 3 20.09.2012 14:56
Изменить скрипт Изучаю_JS Общие вопросы Javascript 0 12.02.2012 22:05
Не работает скрипт :( VladimirV Javascript под браузер 5 21.12.2010 14:26
А как зделать скрипт, чтобы например скрипт 1 заменялся скриптом 2? yura371 Общие вопросы Javascript 3 06.01.2009 22:40
добавление окошка в скрипт подсчета слов Гость Общие вопросы Javascript 10 11.03.2008 17:07