Показать сообщение отдельно
  #1 (permalink)  
Старый 04.07.2013, 13:56
Новичок на форуме
Отправить личное сообщение для istbno Посмотреть профиль Найти все сообщения от istbno
 
Регистрация: 04.07.2013
Сообщений: 3

Ошибка при выполнении Jаvascript на странице
День добрый, помогите, кто может, в javascript не силен

есть скачанный модуль импорта товаров для Joomshopping.

файл form.php формы импорта имеет слующий код:

<script type="text/javascript">

	function addField(node) {
		var wrap	= $('fields_wrap');
		var sample	= $E('#sample div');

		if ( node ) {
			sample.clone().injectAfter( node );
		} else {
			sample.clone().injectInside( wrap );
		}
	}

	function rmField(node) {
		if ( !node ) return;

		node.remove();
	}

	<?php
		// добавляем первую строку если пустой масив
		if ( !count($params['fields']) ) {
	?>
	window.addEvent( 'domready', addField );
	<?php
		}
	?>
</script>

<div id="sample" style="display:none;">
	<div style="margin: 2px 0px;">
		<?php
			echo JHTML::_('select.genericlist', $fields, 'params[fields][]', '', 'key', 'text');
		?>
		<a href="javascript:void(0);" onclick="addField(this.parentNode)" style="margin-left: 10px;">
			<span>+</span>
		</a>
		<a href="javascript:void(0);" onclick="rmField(this.parentNode)" style="margin-left: 10px;">
			<span>-</span>
		</a>
	</div>
</div>

<form action = "index.php?option=com_jshopping&controller=importexport" method = "post" name = "adminForm" enctype = "multipart/form-data">


Выберите файл импора (*.csv):
<input type="file" name="file">
<br />
<br />

<fieldset>
	<legend>Настройки импорта</legend>

	<table class = "admintable">
		<tr>
			<td class="key hasTip" title="Разделитель::Символ разделителя в csv файле">
				Разделитель
			</td>
			<td>
				<input type="text" name="params[separator]" value="<?php echo $params['separator']; ?>" />
			</td>
		</tr>
		<tr>
			<td class="key hasTip" title="Кодировка::Укажите кодировку импортируемого файла">
				Кодировка
			</td>
			<td>
				<input type="text" name="params[charset]" value="<?php echo $params['charset']; ?>" />
			</td>
		</tr>
		<tr>
			<td class="key hasTip" title="Пропуск первой строки::Импортировать первую строку или нет.">
				Пропуск первой строки
			</td>
			<td>
				<label>
					<input type="radio" name="params[pass_row]" value="1" <?php echo ($params['pass_row']) ? 'checked="checked"': '' ; ?> />
					Да
				</label>
				&nbsp;&nbsp;
				<label>
					<input type="radio" name="params[pass_row]" value="0" <?php echo (!(int)$params['pass_row']) ? 'checked="checked"': '' ; ?> />
					Нет
				</label>
			</td>
		</tr>
		<tr>
			<td class="key hasTip" title="Публикация товаров::Публиковать импортированные товары или нет.">
				Публикация товаров
			</td>
			<td>
				<label>
					<input type="radio" name="params[publish]" value="1" <?php echo ($params['publish']) ? 'checked="checked"': '' ; ?> />
					Да
				</label>
				&nbsp;&nbsp;
				<label>
					<input type="radio" name="params[publish]" value="0" <?php echo (!(int)$params['publish']) ? 'checked="checked"': '' ; ?> />
					Нет
				</label>
			</td>
		</tr>

		<tr>
			<td class="key hasTip" title="Структура::Укажите перечень полей, данные которых находятся в импортируемом файле &lt;br&gt; Порядок полей, должен соответствовать порядку в файле!!!">
				Структура
			</td>
			<td id="fields_wrap">
			<?php
				if ( count($params['fields']) ) {
					
					foreach ( $params['fields'] as $f ) {
			?>
				<div style="margin: 2px 0px;">
				<?php
					echo JHTML::_('select.genericlist', $fields, 'params[fields][]', '', 'key', 'text', $f);
				?>
					<a href="javascript:void(0);" onclick="addField(this.parentNode)" style="margin-left: 10px;">
						<span>+</span>
					</a>
					<a href="javascript:void(0);" onclick="rmField(this.parentNode)" style="margin-left: 10px;">
						<span>-</span>
					</a>
				</div>
			<?php
					} // foreach ( $params['fields'] as &$f ) 
				} // if ( count($params['fields']) > 1 )
			?>
			</td>
		</tr>
		
	</table>
</fieldset>

<input type = "hidden" name = "task" value = "" />
<input type = "hidden" name = "hidemainmenu" value = "0" />
<input type = "hidden" name = "boxchecked" value = "0" />
<input type = "hidden" name = "ie_id" value = "<?php print $id;?>" />
</form>


В панели администрирования Joomshopping, в закладке данного модуля, есть две кнопки добавления и удаления импортируемых полей + и -.

При нажатии на кнопки + или - Opera выдает ошибку:

[04.07.2013 12:50:10]
option=com_jshopping&controller=importexport&task= view&ie_id=10
Event thread: click
Uncaught exception: ReferenceError: Undefined variable: $E
Error thrown at line 325, column 2 in addField(node) in http://www.nailportal.com.ua/pc/admi...view&ie_id=10:
var sample = $E('#sample div');
called from line 1, column 0 in <anonymous function>(event) in http://www.nailportal.com.ua/pc/admi...view&ie_id=10:
addField(this.parentNode)

Последний раз редактировалось istbno, 04.07.2013 в 20:24.
Ответить с цитированием