Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.02.2017, 09:23
Новичок на форуме
Отправить личное сообщение для S2pidsMan Посмотреть профиль Найти все сообщения от S2pidsMan
 
Регистрация: 13.02.2017
Сообщений: 4

Не работает более 4 событий (Я нуб)
Здравствуйте.
Столкнулся с такой проблемой на сайте с джумлой и компонентом джумшопинг. По данной проблеме на форумах джумлы мне к сожалению не смогли помочь, по этому обращаюсь к Гуру js.

Что бы вы поняли все в точности:
У джумшопинга, есть встроенный модуль pm_debit, он даже возможность в оплате выставлять бик, банк, ибан, имя.
Вот как выглядит оригинальный скрипт:
Код:
<?php 
/**
* @version      4.4.1 10.02.2014
* @author       MAXXmarketing GmbH
* @package      Jshopping
* @copyright    Copyright (C) 2010 webdesigner-profi.de. All rights reserved.
* @license      GNU/GPL
*/
defined('_JEXEC') or die('Restricted access');
?>
<table>
   <tr>
     <td width="200">
       <?php echo _JSHOP_ACCOUNT_HOLDER;?>
     </td>
     <td>
       <input type="text" class="inputbox" name="params[pm_debit][acc_holder]" id="params_pm_debit_acc_holder" value="<?php print $params['acc_holder']?>"/>
     </td>
   </tr>
   <tr>
     <td>
       <?php echo _JSHOP_IBAN?>
     </td>
     <td>
       <input type="text" class="inputbox" name="params[pm_debit][bank_iban]" id="params_pm_debit_bank_iban" value="<?php print $params['bank_iban']?>"/>
     </td>
   </tr>
   <tr>
     <td>
       <?php echo _JSHOP_BIC_BIC?>
     </td>
     <td>
       <input type="text" class="inputbox" name="params[pm_debit][bank_bic]" id="params_pm_debit_bank_bic" value="<?php print $params['bank_bic']?>"/>
     </td>
   </tr>
   <tr>
     <td>
       <?php echo _JSHOP_BANK?>
     </td>
     <td>
       <input type="text" class="inputbox" name="params[pm_debit][bank]" id="params_pm_debit_bank" value="<?php print $params['bank']?>"/>
     </td>
   </tr>
</table>
<script type="text/javascript">
  function check_pm_debit(){
    var ar_focus=new Array();
    var error=0;
    unhighlightField('payment_form');
    if (isEmpty($F_("params_pm_debit_acc_holder"))) {
        ar_focus[ar_focus.length]="params_pm_debit_acc_holder";
        error=1;
    }
    if (isEmpty($F_("params_pm_debit_bank_iban"))) {
        ar_focus[ar_focus.length]="params_pm_debit_bank_iban";
        error=1;
    }
    if (isEmpty($F_("params_pm_debit_bank"))) {
        ar_focus[ar_focus.length]="params_pm_debit_bank";
        error=1;
    }
    if (error){
        $_(ar_focus[0]).focus();
        for (var i=0; i<ar_focus.length; i++ ){
           highlightField(ar_focus[i]);
        }
        return false;
    }
    jQuery('#payment_form').submit();
  }
 </script>
Вот этот скрипт отвечает за проверку заполняемости полей и передачу на отправку:
Код:
<script type="text/javascript">
  function check_pm_debit(){
    var ar_focus=new Array();
    var error=0;
    unhighlightField('payment_form');
    if (isEmpty($F_("params_pm_debit_acc_holder"))) {
        ar_focus[ar_focus.length]="params_pm_debit_acc_holder";
        error=1;
    }
    if (isEmpty($F_("params_pm_debit_bank_iban"))) {
        ar_focus[ar_focus.length]="params_pm_debit_bank_iban";
        error=1;
    }
    if (isEmpty($F_("params_pm_debit_bank"))) {
        ar_focus[ar_focus.length]="params_pm_debit_bank";
        error=1;
    }
    if (error){
        $_(ar_focus[0]).focus();
        for (var i=0; i<ar_focus.length; i++ ){
           highlightField(ar_focus[i]);
        }
        return false;
    }
    jQuery('#payment_form').submit();
  }
 </script>
С этим все в порядке, проблем ни каких нету.

В данном скрипте можно выводить свои дополнительные поля и их передачу. Я переписал скрипт и получилось следующее:
Код:
<?php 
/**
* @version      4.4.1 10.02.2014
* @author       MAXXmarketing GmbH
* @package      Jshopping
* @copyright    Copyright (C) 2010 webdesigner-profi.de. All rights reserved.
* @license      GNU/GPL
*/
defined('_JEXEC') or die('Restricted access');
?>
<table>
   <tr>
     <td width="200">
       <?php echo _JSHOP_ACCOUNT_NAME;?>
     </td>
     <td>
       <input type="text" class="inputbox"  name="params[pm_debit][name]" id="params_pm_debit_name" value="<?php print $params['name']?>"/>
     </td>
   </tr>
   
    <tr>
     <td width="200">
       <?php echo "Юридический адрес";?>
     </td>
     <td>
       <input type="text" class="inputbox" name="params[pm_debit][faddr]" id="params_pm_debit_faddr" value="<?php print $params['faddr']?>"/>
     </td>
   </tr>
   
   <tr>
     <td width="200">
       <?php echo "Фактический адрес";?>
     </td>
     <td>
       <input type="text" class="inputbox" name="params[pm_debit][addr]" id="params_pm_debit_addr" value="<?php print $params['addr']?>"/>
     </td>
   </tr>
   
   
   <tr>
     <td width="200">
       <?php echo "ИНН/КПП";?>
     </td>
     <td>
       <input type="text" class="inputbox" name="params[pm_debit][inn]" id="params_pm_debit_inn" value="<?php print $params['inn']?>"/>
     </td>
   </tr>
   
   
   <tr>
     <td width="200">
       <?php echo "ОКПО";?>
     </td>
     <td>
       <input type="text" class="inputbox" name="params[pm_debit][okpo]" id="params_pm_debit_okpo" value="<?php print $params['okpo']?>"/>
     </td>
   </tr>
   
   <tr>
     <td width="200">
       <?php echo "Наименования банка";?>
     </td>
     <td>
       <input type="text" class="inputbox" name="params[pm_debit][nazb]" id="params_pm_debit_nazb" value="<?php print $params['nazb']?>"/>
     </td>
   </tr>
   <tr>
     <td width="200">
       <?php echo "БИК";?>
     </td>
     <td>
       <input type="text" class="inputbox" name="params[pm_debit][bik]" id="params_pm_debit_bik" value="<?php print $params['bik']?>"/>
     </td>
   </tr>
   <tr>
     <td width="200">
       <?php echo "Р/С";?>
     </td>
     <td>
       <input type="text" class="inputbox" name="params[pm_debit][ras]" id="params_pm_debit_ras" value="<?php print $params['ras']?>"/>
     </td>
   </tr>
   <tr>
     <td width="200">
       <?php echo "К/С";?>
     </td>
     <td>
       <input type="text" class="inputbox" name="params[pm_debit][ks]" id="params_pm_debit_ks" value="<?php print $params['ks']?>"/>
     </td>
   </tr>
   <tr>
     <td width="200">
       <?php echo "Ген. директор";?>
     </td>
     <td>
       <input type="text" class="inputbox" name="params[pm_debit][gend]" id="params_pm_debit_gend" value="<?php print $params['gend']?>"/>
     </td>
   </tr>
   <tr>
     <td width="200">
       <?php echo "Телефон";?>
     </td>
     <td>
       <input type="text" class="inputbox" name="params[pm_debit][tele]" id="params_pm_debit_tele" value="<?php print $params['tele']?>"/>
     </td>
   </tr>
</table>
<script type="text/javascript">
  function check_pm_debit(){
    var ar_focus=new Array();
    var error=0;
    unhighlightField('payment_form');
	if (isEmpty($F_("params_pm_debit_name"))) {
        ar_focus[ar_focus.length]="params_pm_debit_name";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_addr"))) {
        ar_focus[ar_focus.length]="params_pm_debit_addr";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_faddr"))) {
        ar_focus[ar_focus.length]="params_pm_debit_faddr";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_inn"))) {
        ar_focus[ar_focus.length]="params_pm_debit_inn";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_okpo"))) {
        ar_focus[ar_focus.length]="params_pm_debit_okpo";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_nazbe"))) {
        ar_focus[ar_focus.length]="params_pm_debit_nazb";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_ras"))) {
        ar_focus[ar_focus.length]="params_pm_debit_ras";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_ks"))) {
        ar_focus[ar_focus.length]="params_pm_debit_ks";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_bik"))) {
        ar_focus[ar_focus.length]="params_pm_debit_bik";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_gend"))) {
        ar_focus[ar_focus.length]="params_pm_debit_gend";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_tele"))) {
        ar_focus[ar_focus.length]="params_pm_debit_tele";
        error=1;
    }
	
    if (error){
        $_(ar_focus[0]).focus();
        for (var i=0; i<ar_focus.length; i++ ){
           highlightField(ar_focus[i]);
        }
        return false;
    }
    jQuery('#payment_form').submit();
  }
 </script>
В моем варианте - все отправляется и передается как мне и нужно. НО!!! появилась проблемы проверки заполняемости форм.
Если оставить допустим 4 проверки, любого поля:
Код:
<script type="text/javascript">
  function check_pm_debit(){
    var ar_focus=new Array();
    var error=0;
    unhighlightField('payment_form');
	if (isEmpty($F_("params_pm_debit_ks"))) {
        ar_focus[ar_focus.length]="params_pm_debit_ks";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_bik"))) {
        ar_focus[ar_focus.length]="params_pm_debit_bik";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_gend"))) {
        ar_focus[ar_focus.length]="params_pm_debit_gend";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_tele"))) {
        ar_focus[ar_focus.length]="params_pm_debit_tele";
        error=1;
    }
	
    if (error){
        $_(ar_focus[0]).focus();
        for (var i=0; i<ar_focus.length; i++ ){
           highlightField(ar_focus[i]);
        }
        return false;
    }
    jQuery('#payment_form').submit();
  }
 </script>
То эти 4 поля проверяются и в случае не заполнения - появляется error.
Но если добавить ПЯТУЮ проверку и последующие, то ни одна проверка не срабатывает.

Помогите пожалуйста исправить проблему.
Ответить с цитированием
  #2 (permalink)  
Старый 13.02.2017, 09:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от S2pidsMan
Но если добавить ПЯТУЮ проверку и последующие, то ни одна проверка не срабатывает.
что это за проверки? и можно без php, но живой макет
Ответить с цитированием
  #3 (permalink)  
Старый 13.02.2017, 09:57
Новичок на форуме
Отправить личное сообщение для S2pidsMan Посмотреть профиль Найти все сообщения от S2pidsMan
 
Регистрация: 13.02.2017
Сообщений: 4

function check_pm_debit(){
    var ar_focus=new Array();
    var error=0;
    unhighlightField('payment_form');
	if (isEmpty($F_("params_pm_debit_ks"))) {
        ar_focus[ar_focus.length]="params_pm_debit_ks";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_bik"))) {
        ar_focus[ar_focus.length]="params_pm_debit_bik";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_gend"))) {
        ar_focus[ar_focus.length]="params_pm_debit_gend";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_tele"))) {
        ar_focus[ar_focus.length]="params_pm_debit_tele";
        error=1;
    }
	
    if (error){
        $_(ar_focus[0]).focus();
        for (var i=0; i<ar_focus.length; i++ ){
           highlightField(ar_focus[i]);
        }
        return false;
    }
    jQuery('#payment_form').submit();
  }

Вот скрипт проверки заполненности поля и передача в форму.
Вот так 4 работает, а если добавить допустим
function check_pm_debit(){
    var ar_focus=new Array();
    var error=0;
    unhighlightField('payment_form');
	if (isEmpty($F_("params_pm_debit_ks"))) {
        ar_focus[ar_focus.length]="params_pm_debit_ks";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_bik"))) {
        ar_focus[ar_focus.length]="params_pm_debit_bik";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_gend"))) {
        ar_focus[ar_focus.length]="params_pm_debit_gend";
        error=1;
    }
        if (isEmpty($F_("params_pm_debit_gender"))) {
        ar_focus[ar_focus.length]="params_pm_debit_gender";
        error=1;
    }
	if (isEmpty($F_("params_pm_debit_tele"))) {
        ar_focus[ar_focus.length]="params_pm_debit_tele";
        error=1;
    }
	
    if (error){
        $_(ar_focus[0]).focus();
        for (var i=0; i<ar_focus.length; i++ ){
           highlightField(ar_focus[i]);
        }
        return false;
    }
    jQuery('#payment_form').submit();
  }

То уже ни одна проверка не срабатывает
Ответить с цитированием
  #4 (permalink)  
Старый 13.02.2017, 10:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

S2pidsMan,
и что консоль пишет?
Ответить с цитированием
  #5 (permalink)  
Старый 13.02.2017, 10:08
Новичок на форуме
Отправить личное сообщение для S2pidsMan Посмотреть профиль Найти все сообщения от S2pidsMan
 
Регистрация: 13.02.2017
Сообщений: 4

Ничего. Просто пусто. Данные все отправляются без каких либо варингов
Ответить с цитированием
  #6 (permalink)  
Старый 13.02.2017, 10:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

S2pidsMan,
ссылку на пример можно в личку
Ответить с цитированием
  #7 (permalink)  
Старый 13.02.2017, 10:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от S2pidsMan
if (isEmpty($F_("params_pm_debit_nazbe"))) {
ar_focus[ar_focus.length]="params_pm_debit_nazb";
error=1;
}
Ответить с цитированием
  #8 (permalink)  
Старый 13.02.2017, 11:05
Новичок на форуме
Отправить личное сообщение для S2pidsMan Посмотреть профиль Найти все сообщения от S2pidsMan
 
Регистрация: 13.02.2017
Сообщений: 4

Сообщение от рони Посмотреть сообщение
СПАСИБО БОЛЬШОЕ!!!!!!!! ВОТ Я ИДИОТ))))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS: работает на сервере, не работает из папки -majestic- Общие вопросы Javascript 2 02.08.2012 14:41
Не работает push! Динамическая вставка TSEH25 ExtJS 5 03.07.2012 13:00
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
trigger() работает только для событий jQuery? slavaiv jQuery 4 20.11.2011 14:41
ява-скрипт выборочно работает-не работает zeta777 Internet Explorer 0 20.01.2010 11:41