Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   По событию OnClick не вызывается обработчик на Javascript (https://javascript.ru/forum/events/56727-po-sobytiyu-onclick-ne-vyzyvaetsya-obrabotchik-na-javascript.html)

Fotinia 01.07.2015 13:45

По событию OnClick не вызывается обработчик на Javascript
 
Здравсивуйте. Помогите, пожалуйста, разобраться в проблеме. При нажатии на кнопку button ее событие OnClisk не работает. Вот ссылка на

Чтобы перейти к проблемной кнопке нужно выбрать в меню Тест1, ариает1 и нажать самую первую кнопку проверить. В поле ввода должны появиться 111. Если кто-то поможет буду очень благодарна, так как уже очень долго не могу понять в чем дело.
http://javascript.ru/forum/images/smilies/cray.gif

laimas 01.07.2015 14:26

Вы в функцию передаете не объекты, а строку, а в самой функции пытаетесь работать с ней как с объектом.

PS. И выбросьте xmlns="http://www.w3.org/1999/xhtml" из тега html, хотя бы пока не разберетесь что это, как это, и зачем нужно, и нужно ли.

Fotinia 01.07.2015 14:50

Пожалуйста, помогите исправить. В отдельном файле, созданном для проверки рабоет, а как вставляю в большой файл в таблице, то нет. Здесь работает как надо
<!DOCTYPE html PUBLIC ">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

<script language="javascript">
// Проверка решения
function mark1(obj) {
var n=Number(obj.t1.value);
if (n==1)
obj.pic.src="ok.png"
else
obj.pic.src="no.png";
}

</script>

<title>qq</title>
</head>
<body>
<table>
<tr>
<td>
<form name="rez1">
<b>Ответ:</b>
<input name="t1" type="number" style="width: 40px" min="1" max="4" step="1" value="">
<img name="pic" src="bl.png" height="40px" width="40px">
<input name="r1" type="button" value=" Проверить " onClick="mark1(rez1)">&nbsp;&nbsp;&nbsp;&nbsp;
<? if ($Prv != 2 ) { ?>
<input type="button" value="Показать решение" onclick="show_hide('a1',this);">&nbsp;&nbsp;&nbsp; &nbsp; <?}?>
<input type="button" value=" Задать вопрос ">
</form>
</td>
</tr>

</table>

</body>
</html>

laimas 01.07.2015 16:02

Может все это выбросить? Что значит тест - результат решения формулы с введенными в поля значениями? Значит надо выполнять это в JS, то есть в функцию должна передаваться формула (или выбираться из ранее описанных), подставляться значения из полей и выводить результат выполнения.

Проглядел сначала, что rez1, это имя формы.

Fotinia 01.07.2015 16:27

По нажатию кнопки должна в форму выводиться картинка. Но этого не происходит

laimas 01.07.2015 16:54

Цитата:

Сообщение от Fotinia
нажатию кнопки должна в форму выводиться картинка.

В форму нельзя вывести картинку в буквальном смысле. Можете пояснить цель теста?

Deff 01.07.2015 17:21

И еще на странице нет кода для функции show_hide ()

Fotinia 01.07.2015 17:57

Цель теста: в теге
<input name="t1" type="number" style="width: 40px" min="1" max="4" step="1" value="">

нужно ввести число от 1 до 4.
Далее нажимаем кнопку Проверить:
<input name="r1" type="button" value=" Проверить " onClick="mark1(rz1)">

Если введено число 1, то должна выводиться каhтинка ok.png, иначе
картинка no.png в теге
<img name="pic" src="../img/bl.png" height="30px" width="30px">
Сначала установлена пустая картина bl.png. В зависимости от ввода картинка должна поменяться на галочку (если правильно) или крестик.
Пожалуйста, помогите решить эту задачу!!!

Fotinia 01.07.2015 18:00

Вот процедура на JS, но ничего не происходит
<script type="test/javascript" language="javascript">
function mark1(obj) {
var n=Number(obj.t1.value);
if (n==1)
obj.pic.src="ok.png"
else
obj.pic.src="no.png";
}
</script>

laimas 01.07.2015 18:09

Цитата:

Сообщение от Fotinia
нужно ввести число от 1 до 4.

Я не этого ожидал. У вас множество различных формул, а тест, это проверка ввода диапазона от 1 до 4, и для всех форм?

Насколько можно понять, в поле вводится вариант ответа, и да 1 - 4, но как быть с задачей 6, где нет вариантов? И кто решает что ответ верен - сервер после отправки формы или же клиент?


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