Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Падаван просит о помощи (https://javascript.ru/forum/misc/45369-padavan-prosit-o-pomoshhi.html)

napominanie 25.02.2014 21:03

Падаван просит о помощи
 
var i=0;
var j;

if (document.shop.q1.checked) {j = i + 300;}
if (document.shop.q1.checked) {j = i + 300;}
if (document.shop.q1.checked) {j = i + 300;}


и где-то в недрах html...

<input type="button" value="заказать" onClick="javascript: document.shop.area.value=j">
<textarea name="area" id="" cols="5" rows="2"></textarea>

при клике на кнопку в текстовом поле выводит undefined. Прошу решить эту, наверняка легкую, проблему.
Заранее благодарен.

danik.js 25.02.2014 22:06

Цитата:

Сообщение от napominanie
if (document.shop.q1.checked) {j = i + 300;}
if (document.shop.q1.checked) {j = i + 300;}
if (document.shop.q1.checked) {j = i + 300;}

Ну ты хоть попытайся замаскировать свой китай-код. А то палишься помоему сильно. Или это "для повышения надежности кода"? Эх, зря я надежность в универе прогуливал. Глядишь научился бы таким крутым приемам )))

Цитата:

Сообщение от napominanie
при клике на кнопку в текстовом поле выводит undefined

Дык j объявили не присвоив никакого значения (это и есть undefined)
Причем если бы какая то галочка была бы чекнута - то значение бы было присвоено (300).

рони 25.02.2014 22:09

Цитата:

Сообщение от napominanie
при клике на кнопку в текстовом поле выводит undefined

потому как var j; никак неопределена
Цитата:

Сообщение от napominanie
if (document.shop.q1.checked) {j = i + 300;}

это вам в onClick нуно поставить и чекнуть тоды j станет 300 а до того никак.

napominanie 26.02.2014 14:14

Если бы при нажатом чекбоксе выводило 300, я бы не написал сюда. о UNDEFINED даже при нажатом чекбоксе.

рони 26.02.2014 14:26

Цитата:

Сообщение от napominanie
Если бы при нажатом чекбоксе выводило 300

где код чекбокса?

napominanie 26.02.2014 14:27

if (document.shop.q1.checked) {j = i + 300;}
это вам в onClick нуно поставить и чекнуть тоды j станет 300 а до того никак.

последовал совету:

<input type="button" onClick="javascript:
if (document.shop.q1.cheked) {j=i+7;}
document.shop.answ.value=j
">



все равно j undefined. Спасибо за совет, но он, увы, не сработал. Просто не представляю, что в таком незамысловатом коде могло не сработать.

рони 26.02.2014 14:30

napominanie,
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script>
    var i=0;
    var j = i;
  </script>
</head>

<body>
  <form name="shop" action="http://">
     <input name="" type="checkbox" onclick="j = this.checked ? i + 300 : i">
     <input type="button" value="заказать" onclick="document.shop.area.value=j">
 <textarea name="area" id="" cols="5" rows="2"></textarea>
  </form>
</body>
</html>

napominanie 26.02.2014 14:31

Если бы при нажатом чекбоксе выводило 300
где код чекбокса?

<input type="checkbox" name="q1">

napominanie 26.02.2014 14:32

Рони, спасибо.
Вопрос закрыт.


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