Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   Ошибка при выполнении Jаvascript на странице (https://javascript.ru/forum/css-html-browser/39570-oshibka-pri-vypolnenii-javascript-na-stranice.html)

istbno 04.07.2013 13:56

Ошибка при выполнении 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)

danik.js 04.07.2013 15:43

В других браузерах ошибки нет?

istbno 04.07.2013 19:12

Цитата:

Сообщение от danik.js (Сообщение 260126)
В других браузерах ошибки нет?

есть.

Вообщето ошибку можно посмотреть только если выставить в опциях оперы - отображать ошибки javascript.

А так просто ничего не происходит при нажатии на кнопку. Пробывал еще в IE

danik.js 04.07.2013 19:54

Цитата:

Сообщение от istbno
в Java не силен

Этот форум не специализируется на Java. Вы ошиблись адресом наверное..

istbno 04.07.2013 20:22

Цитата:

Сообщение от danik.js (Сообщение 260220)
Этот форум не специализируется на Java. Вы ошиблись адресом наверное..

нежели по посту не видно, что обращение идет относительно javascript, или просто на клаве набирать обучаетесь, лишбы чтото написать? дык для этого есть тренажеры клавиатуры, намного эффективнее )))))))


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