Просмотр исходного кода

Ticket #4128 - Title - Name dependent fields don't work in Ads in United post form.

AntonLV 3 лет назад
Родитель
Сommit
01fc52f29d
2 измененных файлов с 6 добавлено и 5 удалено
  1. 2 2
      modules/boonex/ads/classes/BxAdsFormEntry.php
  2. 4 3
      modules/boonex/ads/js/form.js

+ 2 - 2
modules/boonex/ads/classes/BxAdsFormEntry.php

@@ -29,9 +29,9 @@ class BxAdsFormEntry extends BxBaseModTextFormEntry
         if(isset($this->aInputs[$CNF['FIELD_TITLE']], $this->aInputs[$CNF['FIELD_NAME']])) {
             $sJsObject = $this->_oModule->_oConfig->getJsObject('form');
 
-            $aMask = array('mask' => "javascript:%s.checkName('%s', '%s');", $sJsObject, $CNF['FIELD_TITLE'], $CNF['FIELD_NAME']);
+            $aMask = array('mask' => "javascript:%s.checkName(this, '%s', '%s');", $sJsObject, $CNF['FIELD_TITLE'], $CNF['FIELD_NAME']);
             if($this->aParams['display'] == $CNF['OBJECT_FORM_ENTRY_DISPLAY_EDIT'] && bx_get('id') !== false) {
-                $aMask['mask'] = "javascript:%s.checkName('%s', '%s', %d);";
+                $aMask['mask'] = "javascript:%s.checkName(this, '%s', '%s', %d);";
                 $aMask[] = (int)bx_get('id');
             }
 

+ 4 - 3
modules/boonex/ads/js/form.js

@@ -47,14 +47,15 @@ BxAdsForm.prototype.onChangeCategory = function(oElement) {
     );
 };
 
-BxAdsForm.prototype.checkName = function(sTitleId, sNameId, iId) {
+BxAdsForm.prototype.checkName = function(oSource, sTitleId, sNameId, iId) {
     var oDate = new Date();
+    var oForm = jQuery(oSource).parents('.bx-form-advanced:first');
 
-    var oName = jQuery("[name='" + sNameId + "']");
+    var oName = oForm.find("[name='" + sNameId + "']");
     var sName = oName.val();
     var bName = sName.length != 0;
 
-    var oTitle = jQuery("[name='" + sTitleId + "']");
+    var oTitle = oForm.find("[name='" + sTitleId + "']");
     var sTitle = oTitle.val();
     var bTitle = sTitle.length != 0;