Help is needed! There are customer card fields. Click on the necessary information instead of it is substituted for input and can be edited. Everything worked until I started to connect DaData.ru and it turns out this (see picture) trouble.

enter image description here

Code:

$(document).ready(function(){ var rapture = function (which) { $(which).contents().filter(function() { return this.nodeType === 3; }) .wrap('') .end() .filter('br') // ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ элСмСнты пСрСноса строки <br> .remove() .end() .end() .children().filter(function() { $(this).html($.trim($(this).html().replace(/(\t|\n)/g,""))); return !$(this).text().length }).remove(); } $('.editable, .editable-area') .hover(function() { $(this).toggleClass('over-inline'); // добавляСм эффСкт для обозначСния области рСдактирования }) .click(function(event) { // событиС click, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ содСрТимом var $editable = $(this); // ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ссылку Π½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ элСмСнт, ΠΈ сохраняСм Π΅Π΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ if($editable.hasClass('active-inline')) { // провСряСм ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΈ элСмСнт класс active-inline return; } var contents = $.trim($editable.html().replace(/\/p>/g,"/p>\n\n")); // удаляСм лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈ ΠΊΠΎΠ½Ρ†Π΅ строки $editable .addClass('active-inline') // добавляСм элСмСнту класс active-inline - Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½ΠΎ ΠΈ позволяСт ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ тСкст .empty(); // ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт, всСх Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ². // опрСбСляСм ΠΊΠ°ΠΊΠΎΠΉ элСмСнт Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΡ‹ ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ замСсто Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ элСмСнта if ($editable.hasClass('editable')) {var editElement = '<input type="text" id="'+$editable.attr('data-id-input')+'"/>';} // замСняСм Ρ‚Π°Ρ€Π³Π΅Ρ‚ элСмСнтом Ρ„ΠΎΡ€ΠΌΡ‹ $(editElement) .val(contents) .appendTo($editable) .focus() .blur(function(event) { $editable.trigger('blur'); }); if ($editable.attr('data-id-input') == 'name_contact') {suggestion("NAME");} if ($editable.attr('data-id-input') == 'email_contact') {suggestion("EMAIL");} if ($editable.attr('data-id-input') == 'address_contact') {suggestion("ADDRESS");} // function DADATE.RU function suggestion(suggestions_type){ $("#"+$editable.attr('data-id-input')+"").suggestions({ token: "ae1b7ce1d85f5b9cb54fca0af82f18e97cfcc40a", type: ""+suggestions_type+"", count: 5, /* ВызываСтся, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ· подсказок */ //onSelect: function(suggestion) { // console.log(suggestion); //} }); } // function DADATE.RU }) .blur(function(event) { // событиС blur, Π²ΠΎΠ·Π²Π΅Ρ‰Π°ΡŽΡ‰Π΅Π΅ ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ рСдактирования. var $editable = $(this); var edited = $editable.find(':first-child').val(); if (edited !== '') { $editable.children().replaceWith('<em class="ajax">сохранСниС ... </em>').delay(2000).fadeOut('fast'); // ставим "ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ..." вмСсто поля рСдактирования // сохраняСм посрСдством post var LeadsParam = { id: $editable.attr('id'), id_order: <? echo $_GET['edit'] ?>, id_staff: <? echo $userdata['id_staff'] ?>, id_cabinet: <? echo $id_cabinet ?>, value: edited }; jQuery.ajax({ type: "post", url: "/update_order.php?vid=leads", data: LeadsParam, dataType: 'json', success: function(data) { if ($editable.hasClass('editable')) { $editable .removeClass('active-inline') .children() .replaceWith(data.answer); 
  • Have you decided to give your token to the world? - Mikhail Vaysman
  • @MikhailVaysman is a test for God's sake =) - Alexander Sizintsev

0