Вход

Просмотр полной версии : Ошибка при выполнении Jаvascript на странице


istbno
04.07.2013, 13:56
День добрый, помогите, кто может, в 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/administrator/index.php?option=com_jshopping&controller=importexport&task=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/administrator/index.php?option=com_jshopping&controller=importexport&task=view&ie_id=10:
addField(this.parentNode)

danik.js
04.07.2013, 15:43
В других браузерах ошибки нет?

istbno
04.07.2013, 19:12
В других браузерах ошибки нет?

есть.

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

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

danik.js
04.07.2013, 19:54
в Java не силен
Этот форум не специализируется на Java. Вы ошиблись адресом наверное..

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

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