Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не работает простейший код: ReferenceError: ... is not defined (https://javascript.ru/forum/dom-window/50043-ne-rabotaet-prostejjshijj-kod-referenceerror-not-defined.html)

Webtest 09.09.2014 11:55

Не работает простейший код: ReferenceError: ... is not defined
 
Здравствуйте.

Не понимаю что не так, написал простейший код:
<?php foreach ($scanTabs as $value) : ?>
<?php if ($value != '.' && $value != '..') : ?>
	<div class="divTab" id="div_<?php echo $value; ?>" onclick=showText(<?php echo $value; ?>)><?php echo $value; ?></div>
<?php endif; ?>
<?php endforeach; ?>


ВoT JS:
function showText(id) {
    alert(id);
}


Почему если $value имеет цифровое значение, то алерт выводит айди, а если с буквами, то консоль выдает ошибку: ReferenceError: ... is not defined

skrudjmakdak 09.09.2014 12:40

нажми в браузере ctrl + U и ты увидишь сгенерированный html

Viral 09.09.2014 12:40

onclick=showText('<?php echo $value; ?>')

skrudjmakdak 09.09.2014 12:42

Viral,
дай человеку самим понять свою ошибку ;)

Viral 09.09.2014 12:44

Webtest,
пойми свою ошибку сам...
вот путь к ее пониманию, познанию и умиротворению..

Webtest 09.09.2014 12:54

Viral, странно, взял в ковычки и заработало.

Webtest 09.09.2014 13:07

Viral, еще подвопрос, а как сделать тоже самое, но если клик:
onclick=showText('this, <?php echo $value; ?>')
Если делаю алерт:
function showText(obj,id) {
alert(id);
Не работает

skrudjmakdak 09.09.2014 13:29

сделай как я тебе говорил и посмотри результат, если не поймешь, то пришли его сюда

ksa 09.09.2014 13:31

ПХПисты жгут! :D

Webtest, ты почему про ПХП вопросы задаешь на JS форуме? И даже тут есть специальный раздел "Серверные технологии"... ;)

Webtest 09.09.2014 13:41

skrudjmakdak, там я все сделал ОК. Теперь немного другое задание.Сканируется папка с файлами и выводятся невидимые текстовые блоки с содержимым:
<?php foreach ($scanTabs as $value) : ?>
<?php if ($value != '.' && $value != '..') : ?>
	<textarea name="content" class="mainContent" id="ta_<?php echo $value; ?>"><?php echo file_get_contents('Tabs' . DIRECTORY_SEPARATOR . $value) ?></textarea>
<?php endif; ?>
<?php endforeach; ?>

Потом выводятся кнопки, при нажатии на которую должна показаться закрепленная под кнопкой текстоваяформа, и приповторном нажатии сворачиваться.
<?php foreach ($scanTabs as $value) : ?>
<?php if ($value != '.' && $value != '..') : ?>
	<input class="questionBtn" type="button" value="<?php echo $value; ?>">
<?php endif; ?>
<?php endforeach; ?>


ЦСС:
textarea.mainContent {
    display: none;
}


ksa, тут, просто,вопрос по JS.

ksa 09.09.2014 13:43

Цитата:

Сообщение от Webtest
тут, просто,вопрос по JS

Да прям... Ты еще страницу никак не сгенериш правильно. Какой уш там JS...

Webtest 09.09.2014 13:51

ksa, всмысле страницу неправильно сгенерировал, в чем ошибка?

ksa 09.09.2014 14:37

Цитата:

Сообщение от Webtest
всмысле страницу неправильно сгенерировал, в чем ошибка?

Пока у тебя не получается элементарное "внедрение" "элементов" ПХП в странице.

skrudjmakdak 09.09.2014 14:41

Цитата:

Сообщение от Webtest (Сообщение 329698)
ksa, всмысле страницу неправильно сгенерировал, в чем ошибка?

открой свою страницу в браузере и нажми ctrl + U. что сложного?

Viral 09.09.2014 17:09

Webtest,
сделай, как говорит богатая утка

Webtest 10.09.2014 11:23

Вот что выдает контрол+Ю:
<body>
	<form action="" method="post">
		<table>
			<tr>
				<td class="capLeft">
					<input type="text" name="url" value="">
					<input type="Submit" value="Открыть" name="open" id="open">
				</td>
				<td class="capRight">
					<input type="button" value="Свернуть" name="collapse" id="collapse" onclick="collapse">
					<input type="submit" value="Закрыть" name="close" id="close">
				</td>
			</tr>		
			<tr>
				<td class="content" colspan="2">			
					<textarea name="content" class="mainContent" id="ta_2">2</textarea>
					<textarea name="content" class="mainContent" id="ta_e23">e233</textarea>
					<textarea name="content" class="mainContent" id="ta_fgd">fgdsfgdsg</textarea>
				</td>
			</tr>		
			<tr>
				<td class="tab" colspan="2">
					<input class="questionBtn" type="button" value="2">
					<input class="questionBtn" type="button" value="e23">
					<input class="questionBtn" type="button" value="fgd">
				</td>
			</tr>
		</table>
	</form>
</body>
</html>

ksa 10.09.2014 11:33

Цитата:

Сообщение от Webtest
Вот что выдает контрол+Ю:

И что теперь с этим делать? :)

ksa 10.09.2014 11:34

Цитата:

Сообщение от Webtest
onclick="collapse"

Это что такое?

Webtest 10.09.2014 12:26

Цитата:

Сообщение от ksa (Сообщение 329850)
И что теперь с этим делать? :)

Ну, я хотел чтобы при нажатии на кнопку, например:
<input class="questionBtn" type="button" value="2">

Открывалась текстовая форма с таким же айти, но с приставкой ta_. А при нажатии на collapse сворачивалась.

Цитата:

Сообщение от ksa (Сообщение 329851)
Это что такое?

Это я на потом оставил - чтобы при нажатии на эту кнопку все открытые тексты сворачивались обратно. А при нажатии на delete - удалялись.

BETEPAH 10.09.2014 12:48

Цитата:

Сообщение от Webtest
Ну, я хотел...А при нажатии на collapse сворачивалась.

напишите тогда onclick="свернись!", а то вдруг сервер английский не понимает ;)
Если там должен быть вызов функции, то не забывайте скобки
onclick="collapse()"

ksa 10.09.2014 12:53

Цитата:

Сообщение от Webtest (Сообщение 329857)
Ну, я хотел чтобы при нажатии на кнопку, например:
<input class="questionBtn" type="button" value="2">

Открывалась текстовая форма с таким же айти, но с приставкой ta_.

Что-то я у тебя не вижу форм с ИД на эти ta_...

Webtest 10.09.2014 13:05

ksa, вот: <textarea name="content" class="mainContent" id="ta_2">2</textarea>

BETEPAH, я, просто, её еще не делал, а так, отметил на будущее.

ksa 10.09.2014 13:07

Цитата:

Сообщение от Webtest
вот: <textarea name="content" class="mainContent" id="ta_2">2</textarea>

Это не форма... :D

Webtest 10.09.2014 13:12

ksa, ну текстовое поле...

ksa 10.09.2014 13:15

Цитата:

Сообщение от Webtest (Сообщение 329857)
Ну, я хотел чтобы при нажатии на кнопку, например:
<input class="questionBtn" type="button" value="2">

Открывалась текстовая форма с таким же айти, но с приставкой ta_. А при нажатии на collapse сворачивалась.

Как вариант...

<!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'>
.mainContent {
	display: none;
}
</style>
<script type='text/javascript'>
$(function (){
	$('.questionBtn').each(function (){
		$(this).click(function () {
			var id='#ta_'+this.value;
			$(id).show();
		});
	});
	$('#collapse').click(function (){
		$('.mainContent:visible').hide();
	});
});
</script>
</head>
<body>
	<form action="" method="post">
		<table>
			<tr>
				<td class="capLeft">
					<input type="text" name="url" value="">
					<input type="Submit" value="Открыть" name="open" id="open">
				</td>
				<td class="capRight">
					<input type="button" value="Свернуть" name="collapse" id="collapse">
					<input type="submit" value="Закрыть" name="close" id="close">
				</td>
			</tr>		
			<tr>
				<td class="content" colspan="2">			
					<textarea name="content" class="mainContent" id="ta_2">2</textarea>
					<textarea name="content" class="mainContent" id="ta_e23">e233</textarea>
					<textarea name="content" class="mainContent" id="ta_fgd">fgdsfgdsg</textarea>
				</td>
			</tr>		
			<tr>
				<td class="tab" colspan="2">
					<input class="questionBtn" type="button" value="2">
					<input class="questionBtn" type="button" value="e23">
					<input class="questionBtn" type="button" value="fgd">
				</td>
			</tr>
		</table>
	</form>
</body>
</html>
</html>

ksa 10.09.2014 13:16

Цитата:

Сообщение от Webtest
ну текстовое поле...

И не текстовое поле... :D

Webtest 10.09.2014 13:22

ksa, ну не знаю:
Цитата:

Поле <textarea> представляет собой элемент формы для создания области, в которую можно вводить несколько строк текста.
Хм... А можно код переделать так, чтобы при нажатии на закрыть исчезали только открытые документы?

ksa 10.09.2014 14:13

Цитата:

Сообщение от Webtest
А можно код переделать так, чтобы при нажатии на закрыть исчезали только открытые документы?

У меня так и сделано...
Цитата:

Сообщение от ksa
$('#collapse').click(function (){
   $('.mainContent:visible').hide();
});


Webtest 10.09.2014 14:18

ksa, я, просто, пробовал скрипт сразу в браузере по кнопке "Посмотреть!" - в нем, оказывается, работало не верно. Спасибо!


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