Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Найти среднее арифметическое (https://javascript.ru/forum/misc/40455-najjti-srednee-arifmeticheskoe.html)

Sonick 06.08.2013 14:11

Найти среднее арифметическое
 
Надо найти сренее арифметическое нескольких чисел.

Вот текст программы:

<html>
<body>
Среднее арифметическое<br>
<script>
function ww()
{
x1=document.getElementById('a').value;
x2=document.getElementByid('b').value;
x3=document.getElementByid('c').value;
y=(x1+x2+x3)/3;
document.getElementById('d').value=y;
}
</script>
x1=<input type="text" id='a' size='4'><br>
x2=<input type="text" id='b' size='4'><br>
x3=<input type="text" id='c' size='4'><br>
<input type="button" value="Нажми"
onclick="ww()"><br>
y=<input type="text" id='d' size='4'><br>
</body>
</html>

Вроде всё правильно, а при нажатии на кнопку ничего не происходит,подскажите почему.

skrudjmakdak 06.08.2013 14:16

смотрим в консоль.. что нибудь валится туда?

danik.js 06.08.2013 14:20

Цитата:

Сообщение от Sonick
getElementByid

Регистр имеет значение

skrudjmakdak 06.08.2013 14:29

danik.js, да тут и var не хватает

danik.js 06.08.2013 14:44

skrudjmakdak, без var работает, проблема не в этом. Но самечание правильное. Кстати отсутствие var может действительно стать ошибкой (в режиме strict):

<html>
<body>
Среднее арифметическое<br>
<script>
function ww()
{
"use strict";
x1=document.getElementById('a').value;
x2=document.getElementById('b').value;
x3=document.getElementById('c').value;
y=(x1+x2+x3)/3;
document.getElementById('d').value=y;
}
</script>
x1=<input type="text" id='a' size='4'><br>
x2=<input type="text" id='b' size='4'><br>
x3=<input type="text" id='c' size='4'><br>
<input type="button" value="Нажми" 
onclick="try{ ww() } catch(e) {alert(e)}"><br>
y=<input type="text" id='d' size='4'><br>
</body>
</html>

ksa 06.08.2013 15:04

Добавлю свои 5коп... :D

<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
label {
	display: block;
}
</style>
<script type="text/javascript">
function ww() {
	var oi=document.getElementById('fld').getElementsByTagName('input');
	var val=0
	for (var i=0; i<oi.length; i++) {
		val+=+oi[i].value;
	};
	val=val/oi.length;
	document.getElementById('d').value=val;
}
</script>
</head>
<body>
<form>
	<p>Среднее арифметическое</p>
	<div id='fld'>
		<label>x1=<input type="text" id='a' size='4'></label>
		<label>x2=<input type="text" id='b' size='4'></label>
		<label>x3=<input type="text" id='c' size='4'></label>
	</div>
	<div>
		<input type="button" value="Нажми" onclick="try{ ww() } catch(e) {alert(e)}">
	</div>
	<label>y=<input type="text" id='d' size='4'></label>
</form>
</body>
</html>

Sonick 06.08.2013 21:32

Благодарность
 
Огромное спасибо всем тем кто ответил на моё письмо.Вы мне очень помогли.

bes 06.08.2013 21:35

держи ещё три ко
function sa() {
	var len = arguments.length;
	if (len == 0) 
		return "X3";
	var sum = 0;
	for (var i = 0; i < len; i++) {
		sum += +arguments[i];
	}
	return sum/len;
}
alert(sa(4, 2, 3));
alert(sa('4', '2', '3'));
alert(sa());

Randall 16.11.2017 16:16

подскажите что делает эти операторы +=+ val+=+oi[i].value;

Dilettante_Pro 16.11.2017 16:41

Randall,
val+=+oi[i].value;
- то же самое, что и
val = val + Number(oi[i].value);

См. https://learn.javascript.ru/operators


Часовой пояс GMT +3, время: 22:05.