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 18:24

Я ПОКА ХОЧУ ОТЛАДИТЬ ОТВЕТ НА ПЕРВЫЙ ВОПРОС, А ПОТОМ ПО АНАЛОГИИ ДАЛЬШЕ.

Fotinia 01.07.2015 18:28

И ЕЩЕ. Я НЕ ЗНАЮ, КТО ДОЛЖЕН РЕШАТЬ КЛИЕНТ ИЛИ СЕРВЕР. ВИДИМО МНЕ ВСЕ РАВНО. ЭТО ВАЖНО? МНЕ НУЖНО РЕШИТЬ ЗАДАЧИ И Я СДЕЛАЛА, КАК НАШЛА В КНИГЕ, НО НЕ РАБОТАЕТ

laimas 01.07.2015 18:34

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

Во-первых, у вас нет как таковой формы, а значит никакой отправки на сервер не будет.
Во-вторых, если будут форма, то щелчок по копке "Проверить" будет ее отправлять, а значит показывать/не показывать картинку будет решать сервер, а JS побоку.

То есть вы спрашиваете как сделать вышивку, но не поясняете вышивать крестиком или гладью.

Например, если проверка, это блокировка отправки формы при неверно указанном варианте, то тогда и .show() и .hide() для картинки, это забота клиента. Но вот смысл такого я лично не понимаю, так как всегда можно будет "достучаться" в конце концов до правильного ответа.

Если сервер проверяет, что логичнее при тесте, то проверяйте на сервере ответ, и задавайте соответствующий стиль display для изображения, в зависимости от ответа. А эту функцию и "клики" к ней выбросить.

PS. Опять не так - формы есть, но как все "упрятано" не сразу и найдешь. :) Поменьше бы TD и по больше других элементов, так, чтобы каждая задача вся была описана в одной ячейке.

Fotinia 01.07.2015 18:47

Вы меня простите, но я ничего не поняла, кроме того, что сделать нужно как то по другому. Еще раз повторяю задачу. Сначала есть рисунок, на котором ничего нет. В поле вводится ответ от 1 до 4. Если ответ верный, то пустая картинка заменяется на картинку с галочкой. Если неверный, то картинка с крестиком. Как это сделать, не понимаю. Пожалуйста, подскажите.

Fotinia 01.07.2015 18:50

А это разве не форма или нужна какаято еще
<form name"rz1">
<b>Ответ:</b>
<input name="t1" type="number" style="width: 40px" min="1" max="4" step="1" value="">
<img name="pic" src="../img/ok.png" height="30px" width="30px">
<input name="r1" type="button" value=" Проверить " onClick="mark1(rz1)">
<? if ($Prv != 2 ) { ?>
<input type="button" value="Показать решение" onclick="show_hide('a1',this);"> <?}?>
<input type="button" value=" Задать вопрос ">
</form>

laimas 01.07.2015 18:50

Цитата:

Сообщение от Fotinia
Я НЕ ЗНАЮ, КТО ДОЛЖЕН РЕШАТЬ КЛИЕНТ ИЛИ СЕРВЕР. ВИДИМО МНЕ ВСЕ РАВНО. ЭТО ВАЖНО?

Ну это уж не мне решать. Цель теста какова - проверить знание? А если так, то как же такое можно проверять клиенту, ведь достаточно будет вводить от 1 до 4, пока не получим ОК. И в чем тогда смысл?

Если же тест как "проверь себя", то можно и на клиенте проверять, но тогда и подход иной должен быть. Достаточно в том же элементе, в который вводится вариант ответа в data-xxx, проверяя его с вводом. И функции не потребуется.

laimas 01.07.2015 18:52

Цитата:

Сообщение от Fotinia
А это разве не форма или нужна какаято еще

Нашел, код до того "заглубленный", что сразу и не найдешь.

Цитата:

Сообщение от Fotinia
Еще раз повторяю задачу. Сначала есть рисунок, на котором ничего нет. В поле вводится ответ от 1 до 4. Если ответ верный, то пустая картинка заменяется на картинку с галочкой. Если неверный, то картинка с крестиком.

Я уже написал выше, что все определяется цель теста. А какова она у вас я не знаю.

Fotinia 01.07.2015 19:03

Вложений: 1
Я не понимаю про какую цель вы спрашиваете. Мне нужно менять картинку в зависимости от введенного числа.
Если посмотреть более глобально, то есть тест. Его нужно решить и проверить ответы на сайте. В первом задании теста правильный ответ 1. Всего 4 варианта ответов. Нужно указать один из них.

laimas 01.07.2015 19:11

Цитата:

Сообщение от Fotinia
Я не понимаю про какую цель вы спрашиваете. Мне нужно менять картинку в зависимости от введенного числа.

Поясню на пальцах:

Вариант А) - цель теста, это проверка знаний. Как выполняется - форма должна быть одна, с одной кнопкой "Проверить" в конце всех задач. Испытуемый вводит варианты ответов на все задачи, жмет кнопку "Проверить". Сервер принимает форму, проверят варианты ответов, и в зависимости от них указывает стиль картинкам каждой задачи, и возвращает страницу клиенту с результатом проверки (теста).

Вариант Б) - цель теста "проверь себя". Как выполняется - сервер не при делах, его задача только отдавать клиенту страницы. На клиенте при вводе варианта ответа автоматом показывается результат теста. Форм и кнопок для этого совсем не нужно.

Так понятно?

Fotinia 01.07.2015 19:22

В тесте 4 задания, в которых нужно выбрать правильный вариант. Нужно сделать кнопку проверить для каждой задачи ОТДЕЛЬНО. Тестируемый сам решает какие задачи он будет решать и проверять ответ. Я много лет работаю репетиром и мне так нужно, да и не аналогичных ресурсах так делают. Отдельно проверка каждого вопроса.


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