Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3

ребят почему так пишет Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3 - jQuery? когда у меня версия Bootstrap v3.3.6

а jQuery у меня версия JavaScript Library v1.11.1
Ответ: wolf, а может у вас кроме версии 1.11.1, подключена еще библиотека не соответствующих версий? Проверьте, просмотрев исходный код странице.
Вопрос: Java Script, jquery, работа с текстовыми полями

Буду благодарен если поможете есть главная страница, при помощи php выводится таблица на главной странице, на главной странице есть кнопка вызова модального окна(сделано на Jquery), там и происходит редактирование данных, все данные передаются в модальное окно через функцию на языке Jquery.
<script type="text/javascript">
	//------------------функция для открытия модального окна--------------------------------//
	$(function(){
	$("#test_modal").dialog(
	{
		autoOpen: false,
		width: "70%",
	});


	$("#test_btn").click(function (){
		var v = $(".id_s").val();
		$(".id_s").text(v);
		$("#test_modal").dialog("open");
	});

	$(".edit").click(function (){
		var v = $(this).closest("tr").find("td");
		$(v).each(function(){
			
			var what = $(this).attr("class");
			var v = $(this).text();
			$("#"+what).val(v);
			console.info(v);
		});
		//$("#wer").val(v);
			$("#test_modal").dialog("open");
		
	});

	});
	//$("#ss").datepicker();
 </script>


Поля на главной странице таблицы связаны с помощью классов с полями в таблице на модальном окне, а в модальном окне связаны поля с таблицой из главной страницы через id.
<input type="text"  id="pr_vip_v_ramkah">
- этот код в модальном окне находится,
<td class="pr_vip_v_ramkah"><?$row['проект_выполняется_в_рамках']?></td>
- а это находится на главной странице, они через id/class связаны между собой. id-ник каждого элемента в модальном окне содержит в себе значение, как извлечь или как сохранить это значение в его атрибуте value, то есть, чтобы работать с этим значением дальше, а то другие функции JS не видят его значение, надеюсь, все понятно объяснил, буду благодарен очень за любую помощь
Ответ: Погодите, не столь важно, что будет отображать некое окно, всю таблицу, или данные ячеек какой либо ее строки. Пусть щелкая по некой строке, получаем эти данные для редактирования, но почему эти данные получают на клиенте, а не на сервере? Кто хранит данные, клиент или сервер? Если сервер, то почему не запрос сервера и возврат формы для редактирования с данными по этой строке?

Где форма?
Вопрос: Просмотрела исходик jQuery Откорректируйте где не верно

Приветствую. Изучаю javascript и пытаюсь понять как работает jQuery. Прошу поправить мои комментарии к релизу версии 1.12. (из-за поддержки старых IE) в случае неверного истолкования.
jQuery JavaScript Library v1.12.4
Обозначения в комментариях:
-"Количество вызовов" = количество вызовов в других местах исходника
-"..." = см. исходник
Код значительно урезан с соблюдением исходной последовательности и синтаксиса, крупные блоки оставленные в оригинале если непрокомментированы

Разбиваю на несколько сообщений, целиком не пропускает
// 1. Мгновенно вызываемая функция (IIFE)
(function( global, factory ){определение модуля}(модуль))

// 1.1. Определение модуля
if ( typeof module === "object" && typeof module.exports === "object" ) { //... }

// 1.2. Модуль
typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
"use strict";

// Количество вызовов: 9
var deletedIds = [];

// Без комментариев
var document = window.document;
var slice = deletedIds.slice;
var concat = deletedIds.concat;
var push = deletedIds.push;
var indexOf = deletedIds.indexOf;

// Class2type карта. Количество вызовов: 4
var class2type = {};

// Количество вызовов: 2
var toString = class2type.toString;

// Количество вызовов: 6. У Sizzle своя переменная hasOwn
var hasOwn = class2type.hasOwnProperty;

/* Объект с информацией об особенностях текущего браузера. Количество вызовов: 74. У Sizzle своя переменная support */
var support = {};

var 
    // Количество вызовов: 2
    version = "1.12.4", 

    /* Основная функция. Функция-конструктор, создающая в памяти браузера копию (экземпляр)
    базового объекта - объект jQuery. Количество вызовов: 744 */
    jQuery = function( selector, context ){return new jQuery.fn.init( selector, context );},
    
    // Количество вызовов: 2. У Sizzle своя переменная rtrim
    rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,

    // Количество вызовов: 1
    rmsPrefix = /^-ms-/,
    rdashAlpha = /-([\da-z])/gi,

    // Камелизация. Количество вызовов: 1
    fcamelCase = function( all, letter ) { return letter.toUpperCase(); 	};

// Для освобождения памяти от дубликатов методов. Количество вызовов: 39
jQuery.fn = jQuery.prototype = { /* определение свойств экземпляра jQuery в свойстве prototype конструктора объекта jQuery */ };

// Количество вызовов: 30
jQuery.extend = jQuery.fn.extend = function() { /* функция extend() - реализация extends (JS), наследование */ };

jQuery.extend( { /* добавление следующих свойств в объект jQuery: expando, isReady, error, noop, isFunction, isArray, isWindow, isNumeric, 

isEmptyObject, isPlainObject, type, globalEval, camelCase, nodeName, each, trim, makeArray, inArray, merge, grep, map, guid, proxy, now, 

support */ } );

// Анализатор кода JSHint
/* jshint ignore: start */
if ( typeof Symbol === "function" ) {
  jQuery.fn[ Symbol.iterator ] = deletedIds[ Symbol.iterator ];
}
/* jshint ignore: end */

// Заполнение class2type карты
jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
function( i, name ) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); } );

// Функция, определяющая является ли объект массивом. Количество вызовов: 3
function isArrayLike( obj ) { //... }

// Количество вызовов: 6, не включая Sizzle.js
var Sizzle = (function( window ) { /* Sizzle - кросс-браузерный движок селекторов */ })( window );

// Количество вызовов: 10
jQuery.find = Sizzle;

// Количество вызовов: 12 
jQuery.expr = Sizzle.selectors;

// Количество вызовов: 0 
jQuery.expr[ ":" ] = jQuery.expr.pseudos;

// Количество вызовов: 3
jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;

// Количество вызовов: 2
jQuery.text = Sizzle.getText;

// Количество вызовов: 4
jQuery.isXMLDoc = Sizzle.isXML;

// Количество вызовов: 12
jQuery.contains = Sizzle.contains;

// Функция проверки dir()-проверка на наличие в результатах иных элементов, кроме DOM
Количество вызовов: 6. У Sizzle своя переменная dir
var dir = function( elem, dir, until ) { //... };

// Функция выбора потомков siblings(). Количество вызовов: 2
var siblings = function( n, elem ) { //... };

// Количество вызовов: 2
var rneedsContext = jQuery.expr.match.needsContext;
var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ );

// Количество вызовов: 1
var risSimple = /^.[^:#\[\.,]*$/;

// Количество вызовов: 3
function winnow( elements, qualifier, not ) { /* функция-фильтр winnow() - реализация js-функции filter() */ }

// Количество вызовов: 4
jQuery.filter = function( expr, elems, not ) { /* метод .filter()-реализация js-функции filter() */ };

jQuery.fn.extend( { /* добавление следующих свойств в экземпляр jQuery: find, filter, not, is */ } );

// Главная ссылка на корневой jQuery(document). Количество вызовов: 3
var rootjQuery,

    // Проверка HTML строк. Количество вызовов: 3
    rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,

    // Количество вызовов: 5
    init = jQuery.fn.init = function( selector, context, root ) { /* функция init() */ };

// Придание функции init свойства prototype конструктора объекта jQuery для последующего создания экземпляра. Количество вызовов: 1
init.prototype = jQuery.fn;

// Инициализация главной ссылки
rootjQuery = jQuery( document );

// Количество вызовов: 1
var rparentsprev = /^(?:parents|prev(?:Until|All))/,
    
    // Методы jQuery, гарантирующие создание уникального набора. Количество вызовов: 1
    guaranteedUnique = {
      children: true,
      contents: true,
      next: true,
      prev: true
    };

jQuery.fn.extend( { /* добавление следующих свойств в экземпляр jQuery: has, closest, index, add, addBack */ } );

// Функция выборки потомков sibling(). Количество вызовов: 2
function sibling( cur, dir ) { //... }

// Количество вызовов: 29
jQuery.each( { /* перебирающая функция jQuery.each() */ };

// Количество вызовов: 10
var rnotwhite = ( /\S+/g );

/* Функция преобразования строчно-отформатированных опций в объектно-отформатированные.
Количество вызовов: 1 */
function createOptions( options ) { //... }

// Количество вызовов: 5
jQuery.Callbacks = function( options ) { функция jQuery.Callbacks() }

jQuery.extend( { /* добавление следующих свойств в объект jQuery: Deferred, when(Deferred helper) */ } );

// Deferred, используемая в DOM, готовность. Количество вызовов: 4
var readyList;

// Количество вызовов: 0
jQuery.fn.ready = function( fn ) {
  // Добавление функции обратного вызова
  jQuery.ready.promise().done( fn );
  return this;
};

jQuery.extend( { /* добавление следующих свойств в объект jQuery: readyWait, holdReady, ready */ } );

// Функция очистки для готовых событий DOM. Количество вызовов: 0
function detach() { //... }

// Обработчик готовых событий. Количество вызовов: 0
function completed() { //... }

// Количество вызовов: 2
jQuery.ready.promise = function( obj ) { /* jQuery.ready.promise() - метод самоочистки */ };

// Удаляем проверку готовности DOM даже если пользователь этого не делал
jQuery.ready.promise();

// Повторение свыше унаследованных свойств объекта вплоть до его собственных
var i;
for ( i in jQuery( support ) ) { break; }
support.ownFirst = i === "0";

/* Примечание: Большинство тестов поддержки определены в их соответствующих модулях. False до запуска теста. Количество вызовов: 2 */
support.inlineBlockNeedsLayout = false;

jQuery( function() { /* исполнение «как можно скорее» в случае если нужно установить body.style.zoom */ } );

( function() {
  var div = document.createElement( "div" );
  // Support: IE<9
  support.deleteExpando = true;
  try {
    delete div.test;
  } catch ( e ) {
    support.deleteExpando = false;
  }
  // Null elements to avoid leaks in IE.
  div = null;
} )();

// Проверка данных. Количество вызовов: 5
var acceptData = function( elem ) { //... };

// Количество вызовов: 1
var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
    rmultiDash = /([A-Z])/g;

// Подготовка данных для метода .data(). Количество вызовов: 2
function dataAttr( elem, key, data ) { //... }

// Проверка объекта кэша на пустоту. Количество вызовов: 3
function isEmptyDataObject( obj ) { //... }

// Количество вызовов: 2
function internalData( elem, name, data, pvt ) { /* правила обработки данных */ }

jQuery.fn.extend( { /* добавление следующих свойств в экземпляр jQuery: data, removeData */ } );

jQuery.extend( { /* добавление следующих свойств в объект jQuery: queue, dequeue, _queueHooks */ } );

jQuery.fn.extend( { /* добавление следующих свойств в экземпляр jQuery: queue, dequeue, clearQueue, promise */ } );

( function() {
  var shrinkWrapBlocksVal;
  support.shrinkWrapBlocks = function() {
    if ( shrinkWrapBlocksVal != null ) { return shrinkWrapBlocksVal; }
    shrinkWrapBlocksVal = false;
    var div, body, container;
    body = document.getElementsByTagName( "body" )[ 0 ];
    if ( !body || !body.style ) { return; }
    div = document.createElement( "div" );
    container = document.createElement( "div" );
    container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;
    left:-9999px";
    body.appendChild( container ).appendChild( div );
    if ( typeof div.style.zoom !== "undefined" ) {
      div.style.cssText =
      "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
      "box-sizing:content-box;display:block;margin:0;border:0;" +
      "padding:1px;width:1px;zoom:1";
      div.appendChild( document.createElement( "div" ) ).style.width = "5px";
      shrinkWrapBlocksVal = div.offsetWidth !== 3;
    }
    body.removeChild( container );
    return shrinkWrapBlocksVal;
  };
} )();
Ответ:
// Создание объекта запроса с учетом кросс-браузерности. Количество вызовов: 1
jQuery.ajaxSettings.xhr = window.ActiveXObject !== undefined ? function() {
  if ( this.isLocal ) { return createActiveXHR(); }
  if ( document.documentMode > 8 ) { return createStandardXHR(); 	}
  return /^(get|post|head|put|delete|options)$/i.test( this.type ) &&
    createStandardXHR() || createActiveXHR();
} : createStandardXHR;

// Количество вызовов: 1
var xhrId = 0,

    // Количество вызовов: 4
    xhrCallbacks = {},

    // Количество вызовов: 2
    xhrSupported = jQuery.ajaxSettings.xhr();

/* Отмена открытых запросов, если страница не загрузилась по каким-либо причинам, либо при закрытии окна (вкладки) браузера. */
if ( window.attachEvent ) {
  window.attachEvent( "onunload", function() {
    for ( var key in xhrCallbacks ) { xhrCallbacks[ key ]( undefined, true ); }
  } );
}

// Для проверки поддержки браузером кросс-доменных запросов. Количество вызовов: 1
support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );

// Для проверки поддержки браузером технологии ajax. Количество вызовов: 1
xhrSupported = support.ajax = !!xhrSupported;


if ( xhrSupported ) {

// Функция, создающая объект для обработки ajax-запроса Количество вызовов: 1
  jQuery.ajaxTransport( function( options ) { //... }
}

// Функция создания объекта XHR. Количество вызовов: 3
function createStandardXHR() {
  try {
    return new window.XMLHttpRequest();
  } catch ( e ) {}
}

// Функция создания объекта XHR. Количество вызовов: 2
function createActiveXHR() {
  try {
    return new window.ActiveXObject( "Microsoft.XMLHTTP" );
  } catch ( e ) {}
}

/* Установка значений по умолчанию для следующих настроек ajax-запроса: accepts, contents, converters */
jQuery.ajaxSetup( { //... } );

// Настройка индивидуального и глобального кэша для ajax-запросов типа script.
jQuery.ajaxPrefilter( "script", function( s ) {
  if ( s.cache === undefined ) { s.cache = false; }
  if ( s.crossDomain ) {
    s.type = "GET";
    s.global = false;
  }
} );

// Создание объекта для обработки ajax-запроса типа script
jQuery.ajaxTransport( "script", function( s ) { //... } );

// Количество вызовов: 2
var oldCallbacks = [],

    // Количество вызовов: 3
    rjsonp = /(=)\?(?=&|$)|\?\?/;

// Установка значений по умолчанию для следующих настроек ajax-запроса: jsonp, jsonpCallback
jQuery.ajaxSetup( {
  jsonp: "callback",
  jsonpCallback: function() {
    var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
        this[ callback ] = true;
    return callback;
  }
} );

// Выявление, нормализация и установка callbacks для ajax-запросов типа json, jsonp
jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { //... }

// Функция разбора строки в массив узлов DOM. Количество вызовов: 2
jQuery.parseHTML = function( data, context, keepScripts ) { //... };

// Сохранение копии прежнего метода загрузки. Количество вызовов: 2
var _load = jQuery.fn.load;

// Функция загрузки URL на страницу. Метод .load(). Количество вызовов: 0
jQuery.fn.load = function( url, params, callback ) { //... };

/* Присоединение для общепринятых ajax-событий функции обработчика для одного или нескольких событий */
jQuery.each( [
  "ajaxStart",
  "ajaxStop",
  "ajaxComplete",
  "ajaxError",
  "ajaxSuccess",
  "ajaxSend"
], function( i, type ) {
  jQuery.fn[ type ] = function( fn ) { return this.on( type, fn ); };
} );

// Функция проверки наличия элемента в jQuery.timers. Количество вызовов: 0
jQuery.expr.filters.animated = function( elem ) {
  return jQuery.grep( jQuery.timers, function( fn ) {
    return elem === fn.elem;
  } ).length;
};

// Функция, получающая корреспондирующее с элементом окно. Количество вызовов: 2
function getWindow( elem ) {
  return jQuery.isWindow( elem ) ? elem : elem.nodeType === 9 ? 
    elem.defaultView || elem.parentWindow : false;
}

/* Функция, устанавливающая местоположение выбранного элемента относительно границ текущего документа. Количество вызовов: 1 */
jQuery.offset = { //... };

jQuery.fn.extend( { /* добавление следующих свойств в экземпляр jQuery: offset, position, offsetParent */ } );

// Создание scrollLeft и scrollTop методов
jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { //... } );

// CSS-хуки для свойств top и left
jQuery.each( [ "top", "left" ], function( i, prop ) { //... } );

// Создание innerHeight, innerWidth, height, width, outerHeight и outerWidth методов
jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { //... } );

jQuery.fn.extend( { /* добавление следующих свойств в экземпляр jQuery: bind, unbind, delegate, undelegate */ } );

// Функция, определяющая количество выбранных элементов. Метод .size() Количество вызовов: 0
jQuery.fn.size = function() { return this.length; };

// Замена функции jQuery.fn.andSelf, которая больше не может использоваться
jQuery.fn.andSelf = jQuery.fn.addBack;

/* Проверка наличия js-скрипта «require.js» (библиотеки управления зависимостями JavaScript для улучшения скорости и качества кода) */
if ( typeof define === "function" && define.amd ) {
  define( "jquery", [], function() { return jQuery; } );
}

// Карта к jQuery на случай перезаписи. Количество вызовов: 1
var _jQuery = window.jQuery,

    // Карта к $ на случай перезаписи. Количество вызовов: 0
    _$ = window.$;

/* Функция, отключающая использование $ в качестве переменной jQuery, без потери функциональности библиотеки jQuery. Количество вызовов: 0 */
jQuery.noConflict = function( deep ) {
  if ( window.$ === jQuery ) { window.$ = _$; }
  if ( deep && window.jQuery === jQuery ) { window.jQuery = _jQuery; }
  return jQuery;
};

/* Зачастую если noGlobal является undefined, то jQuery добавит себя к глобальному window объект, за исключением случая когда загрузчик 

модуля – CommonJS */
if ( !noGlobal ) { window.jQuery = window.$ = jQuery; }

// Завершение блока Модуля
return jQuery;
})

// Закрытие круглых скобок, в которые обернута IIFE.
);
Вопрос: FadeIn не работает с img (jquery-3.1.1.min.js)

Начинаю изучать JQuery. Почему у меня не работает fadeIn с библиотекой jquery-3.1.1.min.js, а работает только с очень старой версией.


PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!DOCTYPE html>
<html lang="ru">
<head>
    <title>JQuery</title>
    <meta charset="utf-8"/>
    <meta name="description"    content="Это сравочник по JQuery"   />
    <meta name="keywords"   content="HTML5, CSS3, JavaScript, JQuery"   />
 
    <link rel="stylesheet"  href="style.css">
 
 
    
</head>
<body>
    
        <div id="clickMe">Поможем нашим пушистым друзьям</div>
        <div id="picframe">
            <img  src="http://www.cyberforum.ru/images/furry_friend.jpg">
        </div>
        <script src="script/jquery-3.1.1.min.js"></script>
        <script>
            $(document).ready(function(){
                $("#clickMe").click(function() {
                        $("img").fadeIn(5000);
                    $("#picframe").slideToggle("slow");
                
                });
            });
        </script>
 
 
</body>
</html>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#clickMe{
    background: #D8B36E;
    padding:20px;
    text-align: center;
    width: 205px;
    display: block;
    border:2px solid #000;
}
#picframe{
    background: #D8B36E;
    padding:20px;
    width: 205px;
    display: none;
    border: 2px solid #000;
}
Ответ: zmhan,
Вопрос: Форма обратной СЃРІСЏР·Рё jQuery

Ребята, написала форму обратной связи с помощью jQuery. Ничего у меня не отправляет, так как я только начала учиться, сложно найти ошибки в моих файлах. Помогите!

Файл индекс
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<div class="col-md-8">
     <h4 align="center">Обратная СЃРІСЏР·СЊ</h4>
   <div>Ваше Имя:</div>
<input type="text" name="name" id="name" value="" />
 
<div>Ваш E-mail <span>*</span>:</div>
<input type="text" name="email" id="email" value="" />
 
<div>Сообщение <span>*</span>:</div>
<textarea name="message" id="message"></textarea>
 
<div class="result"></div>
 
<a href="javascript: void(0);" id="submit">Отправить</a>
</main>
</div>
<div class="col-md-4"> </div> </div>
</div>
 
<footer class="footer">
  <footer class="page-footer font-small blue pt-4">
 
    <!-- Footer Links -->
    <div class="container-fluid text-center text-md-left">
 
      <!-- Grid row -->
      <div class="row">
 
        <!-- Grid column -->
        <div class="col-md-6 mt-md-0 mt-3">
 
          <!-- Content -->
          <h5 class="text-uppercase" style="color:#4B0082">Компания РћРћРћ "*"</h5>
          <p style="font-size:1.2rem">текст.</p>
 
        </div>
        <!-- Grid column -->
 
        <hr class="clearfix w-100 d-md-none pb-3">
 
        <!-- Grid column -->
        <div class="col-md-3 mb-md-0 mb-3">
 
          <!-- Links -->
          <h5 class="text-uppercase" style="color:#4B0082">Рћ нас</h5>
 
          <ul class="list-unstyled" style="color:black">
            <li>
              <a href="index2.php" style="color:black">Главная</a>
            </li>
            <li>
              <a href="produkt.php" style="color:black">Продукция</a>
            </li>
            <li>
              <a href="object.php" style="color:black">Объекты</a>
            </li>
            <li>
              <a href="otpravka2.php" style="color:black">Отправить заказ</a>
            </li>
          </ul>
 
        </div>
        <!-- Grid column -->
 
        <!-- Grid column -->
        <div class="col-md-3 mb-md-0 mb-3">
 
          <!-- Links -->
          <h5 class="text-uppercase" style="color:#4B0082">Контакты</h5>
          <p style="font-size:1.2rem">
            </b><i class="fa fa-phone"></i> тел:+7 (495) 000-00-00
            <br>
            <i class="fa fa-envelope-o"></i> e-mail: [email]zakaz@mail.ru[/email]
            <br> <i class="fa fa-comments"></i> Whatsapp:+7(916)00000-00
            <br> </p>
 
        </div>
        <!-- Grid column -->
 
      </div>
      <!-- Grid row -->
 
    </div>
    <!-- Footer Links -->
 
  </footer>
  <!-- Footer -->
  <!-- Optional JavaScript -->
  <!-- jQuery first, then Popper.js, then Bootstrap JS -->
  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</body>
<script>
 
    $(document).ready(function() {
    
        $("#submit").on("click", function() {
        
            var name = $("#name").val(); // Получаем РёРјСЏ
            var email = $("#email").val(); // Получаем e-mail
            var message = $("#message").val(); // Получаем сообщение
            
            $.ajax({
            
                url: "form.php", // РљСѓРґР° отправляем данные (обработчик)
                type: "post",
 
                data: {
                    "name": name,
                    "email": email,
                    "message": message
                },
 
                success: function(data) {
                
                    $(".result").html(data); // Выводим результат
                    
                }
                
            });
            
        });
        
    });
 
</script>
 
</html>
Файл php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
 
    header("Content-Type: text/html; charset=utf-8");
    
    if(isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"]) === "xmlhttprequest") {
    
        if(!isset($_POST["name"]) || !isset($_POST["email"]) || !isset($_POST["message"])) {
 
            die();
 
        }
    
        function send_form($message) {
    
            $mail_to = "***@gmail.com"; // Адрес, РєСѓРґР° отправляем РїРёСЃСЊРјР°
            $subject = "РџРёСЃСЊРјРѕ СЃ обратной СЃРІСЏР·Рё"; // Тема РїРёСЃСЊРјР°
            $headers = "MIME-Version: 1.0\r\n";
            $headers .= "Content-type: text/html; charset=utf-8\r\n";
            $headers .= "From: Система уведомлений <no-reply@".$_SERVER['HTTP_HOST'].">\r\n";
 
            mail($mail_to, $subject, $message, $headers);
        
        }
 
        $name = strip_tags($_POST["name"]); // Имя
        $email = strip_tags($_POST["email"]); // E-mail
        $mess = strip_tags($_POST["message"]); // Сообщение
 
        if(!preg_match("|^([a-z0-9_.-]{1,20})@([a-z0-9.-]{1,20}).([a-z]{2,4})|is", strtolower($email))) { // Если e-mail пустой или невалиден
 
            echo "E-mail указан некорректно.";
 
            die();
 
        }
 
        if($mess == "") { // Если сообщение пустое
 
            echo "РќРµ указан текст сообщения.";
 
            die();
 
        }
 
        if($name == "") { // Если РёРјСЏ РЅРµ указано
 
            $name = "РќРµ указано";
 
        }
 
        $message = <<<HTML
 
            <b>Имя отправителя</b>: {$name}<br>
            <b>E-mail</b>: {$email}<br><br>
            <b>Текст РїРёСЃСЊРјР°</b>: {$mess}
 
HTML;
 
        send_form($message); // Если ранее описанных ошибок нет - отправляем сообщение
        
        echo "Сообщение успешно отправлено!";
 
    } else {
 
        die();
 
    }
 
?>
Ответ:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<div class="col-md-8">
    <h4 align="center">Обратная СЃРІСЏР·СЊ</h4>
    <div>Ваше Имя:</div>
    <input type="text" name="name" id="name" value="" />
 
    <div>Ваш E-mail <span>*</span>:</div>
    <input type="text" name="email" id="email" value="" />
 
    <div>Сообщение <span>*</span>:</div>
    <textarea name="message" id="message"></textarea>
    <div id="result"></div>
 
    <button id="submit">Отправить</button>
</div>
<script>
 
$(document).ready(function () {
    $("#submit").on("click", function () {
        var name = $("#name").val(); // Получаем РёРјСЏ
        var email = $("#email").val(); // Получаем e-mail
        var message = $("#message").val(); // Получаем сообщение
 
        $.ajax({
        url: "form.php", // РљСѓРґР° отправляем данные (обработчик)
            type: "post",
            data: {
                "name": name,
                "email": email,
                "message": message
            },
            dataType: 'json',
            success: function (data) {
                if (data['error']) {
                    var message = '';
                    for (i in data['error']) {
                        message += $data['error'][i] + '<br>'
                    }
                    $('#result').html(message);
                }
 
 
                if (data['success']){
                    $("#result").html(data['success']);
                }
            }
        });
    });
});
 
</script>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
header("Content-Type: text/html; charset=utf-8");
$json = array();
 
if (isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"]) === "xmlhttprequest") {
 
    if (empty($_POST["name"]) && empty($_POST["email"]) && empty($_POST["message"])) {
        $json['error'][] = 'РЅРµ заполнены поля';
    }
 
    if (empty($json)) {
        $name = clean($_POST["name"]); // Имя
        $email = clean($_POST["email"]); // E-mail
        $mess = clean($_POST["message"]); // Сообщение
 
        if (empty($mess)) { // Если сообщение пустое
           $json['error'][] = "РќРµ указан текст сообщения.";
        }
 
        if (empty($name)) { // Если РёРјСЏ РЅРµ указано
            $json['error'][] = "РќРµ указано РёРјСЏ";
        }
        
        $email_validate = filter_var($email, FILTER_VALIDATE_EMAIL); 
        if(!$email_validate){
            $json['error'][] = "E-mail указан некорректно.";
        }
    }
 
    if(!isset($json['error'])){
        $message = '';
        $message .= "<b>Имя отправителя</b>:" .  $name . "<br>";
        $message .= "<b>Email</b>:" .  $email . "<br>";
        $message .= "<b>Сообщение</b>:" .  $mess . "<br>";
        
        send_form($message); // Если ранее описанных ошибок нет - отправляем сообщение
        
        $json['success'] = 'Сообщение отправлено';
    }
 
    echo json_encode($json);
}
 
function send_form($message) {
    $mail_to = "****@gmail.com"; // Адрес, РєСѓРґР° отправляем РїРёСЃСЊРјР°
    $subject = "РџРёСЃСЊРјРѕ СЃ обратной СЃРІСЏР·Рё"; // Тема РїРёСЃСЊРјР°
    $headers = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=utf-8\r\n";
    $headers .= "From: Система уведомлений <no-reply@" . $_SERVER['HTTP_HOST'] . ">\r\n";
 
    mail($mail_to, $subject, $message, $headers);
}
 
function clean($value = "") {
    $value = trim($value);
    $value = stripslashes($value);
    $value = strip_tags($value);
    $value = htmlspecialchars($value);
 
    return $value;
}
Вопрос: Инициализация jquery, конфликт библиотек

Приветствую.
Задача следующая - скрывать определенные теги на сайте (реклама).
Делаю вставку библиотеки jquery через плагин для FF (не grease monkey).
Она там уже подключена(хозяином сайта) - но задейстовать не получается.

Делаю через такой костыль. Добавляется в начало тега head.


Далее проблема ...
банальное $('title').html('changed'); не срабатывает
//jQuery loaded


я прав что тут уже не надо применять функцию - Document.ready() ?

Спасибо.



(function () {

    function loadScript(url, callback) {

        var script = document.createElement("script")
        script.type = "text/javascript";

        if (script.readyState) { //IE
            script.onreadystatechange = function () {
                if (script.readyState == "loaded" || script.readyState == "complete") {
                    script.onreadystatechange = null;
                    callback();
                }
            };
        } else { //Others
            script.onload = function () {
                callback();
            };
        }

      //вставить <script ...> </script> в начало тега head
        script.src = url;
         var container = document.getElementsByTagName("head")[0];
         container.insertBefore(script, container.firstChild);
      
    }

    loadScript("https://code.jquery.com/jquery-3.0.0.min.js", function () {

         //jQuery loaded
       
    });


})();
Ответ:
Сообщение от Rise
// ==UserScript==
// @name        test
// @namespace   test
// @include     *
// @version     0.1
// @grant       none
// @run-at      document-end
// ==/UserScript==

alert(jQuery.fn.jquery);


Сразу не заметил, а что за плагин, с обезьянкой же проще как видишь?
забил. всякого *овна подгружается еще, долго инициализация идет сценария. Adblock легче скачать
Вопрос: Редактирование комментариев через jQuery UI

Здравствуйте. Разбираюсь с новым и непривычным jQuery. Есть такая задача - дан список комментариев, и хотелось бы, что бы при нажатии на кнопку "Исправить" появлялось бы окно диалога jQuery UI с введенным текстом, который надо поправить. Как мне видится суть - при нажатии на ссылку скрипт берет значения нужных полей комментария, кнопку которого нажали, вставляет их в форму ввода и далее запускается скрипт диалога.

В текущей реализации скрипт отрабатывает по всем полям с одинаковым классом. Я так понимаю, у меня или неверно сделана HTML реализация (надо делать дочерними поля или искать с помощью ява ближайшие элементы) - короче, запутался я.
И еще, как осуществить перенос найденного в value формы

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<li>
    <div class="reviews-content">
        <p><a class="revid-edit" data-revid="4102">Исправить</a></p>
        <div class="reviews-meta">              
            <span id="rev_name_edit" class="rev_name_edit">Маша</span>
            <span id="rev_mail_edit" class="rev_mail_edit">smail@ya.ru</span>
            <span id="rev_date_edit" class="rev_date_edit">2017-02-02 00:00:00</span>
        </div>
        <div class="reviews-text">
            <span class="rev_text">Что лучше использовать: DATETIME ?</span>
            <p class='open-form'><a class="reply" id="revid" data-revid="2">Ответить</a></p>
        </div>
    </div>  
</li>
<li>
    <div class="reviews-content">
        <p><a class="revid-edit" data-revid="4102">Исправить</a></p>
        <div class="reviews-meta">              
            <span id="rev_name_edit" class="rev_name_edit">Cаша</span>
            <span id="rev_mail_edit" class="rev_mail_edit">smail@mail.ru</span>
            <span id="rev_date_edit" class="rev_date_edit">2017-02-02 11:11:11</span>
        </div>
        <div class="reviews-text">
            <span class="rev_text">Что лучше использовать:?</span>
            <p class='open-form'><a class="reply" id="revid" data-revid="2">Ответить</a></p>
        </div>
    </div>  
</li>
<script src="views/js/jquery.js"></script>
<script src="views/js/jquery-ui.min.js"></script>
<script>
    $(function (){
        $('.revid-edit').click(function(){
                    //var name = $('.revid-edit').next('.rev_name_edit').text();
                    //var mail = $('.revid-edit').siblings('.rev_mail_edit').text();
                    var mail = $('.rev_name_edit').text();
                    //var name = $(this).find('.rev_name_edit').text();
                    //var name = $('.rev_name_edit').text();
                    //var mail = $('.rev_mail_edit').text();
                    //console.log(mail);
                    console.log(mail);
                });
    });
</script>
HTML5
1
2
3
4
5
6
7
<form action="<?=PATH?>comments" method="post">
<fieldset>
<input type="text" name="rev_mail" id="rev_mail" value="Текст, который подсунет скрипт" class="text ui-widget-content ui-corner-all">
<label for="rev_text">Текст отзыва</label>
<input type="submit" tabindex="-1" style="position:absolute; top:-1000px">
</fieldset>
</form>
Ответ:
Javascript
1
2
3
4
5
6
            $(function () {
                $('.revid-edit').click(function () {
                    var mail = $(this).parent().next().children('.rev_mail_edit').text();
                    console.log(mail);
                });
            });
Добавлено через 2 минуты
Сообщение от PsevdoPanda
<span id="rev_name_edit" class="rev_name_edit">Маша</span>
* * * * * * <span id="rev_mail_edit" class="rev_mail_edit">smail@ya.ru</span>
* * * * * * <span id="rev_date_edit" class="rev_date_edit">2017-02-02 00:00:00</span>
* * * * </div>
* * * * <div class="reviews-text">
* * * * * * <span class="rev_text">Что лучше использовать: DATETIME ?</span>
* * * * * * <p class='open-form'><a class="reply" id="revid" data-revid="2">Ответить</a></p>
* * * * </div>
* * </div>*
</li>
<li>
* * <div class="reviews-content">
* * * * <p><a class="revid-edit" data-revid="4102">Исправить</a></p>
* * * * <div class="reviews-meta">* * * * * * *
* * * * * * <span id="rev_name_edit" class="rev_name_edit">Cаша</span>
* * * * * * <span id="rev_mail_edit" class="rev_mail_edit">smail@mail.ru</span>
* * * * * * <span id="rev_date_edit" class="rev_date_edit">2017-02-02 11:11:11</span>
id - должен быть уникальным

Добавлено через 53 минуты
примерчик
PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
        <script>
            $(function () {
                $('.revid-edit').click(function () {
                    var wrap = $(this).parent().next().children('.rev_mail_edit');
                    var mail = $(this).parent().next().children('.rev_mail_edit').text();
                    $(wrap).append('<input class="edit" type="text" name="rev_mail_edit" value="'+mail+'">');
                    console.log(mail);
                });
            
                $('.reviews-meta').on('change','.edit',function(){
                    var n = $(this).attr('name');
                    var v = $('input[name='+n+']').val();
                    var p = $(this).parent();
                    $(p).text(v);
                });
            });
        </script>
    <li>
        <div class="reviews-content">
            <p><a class="revid-edit" data-revid="4102">Исправить</a></p>
            <div class="reviews-meta">              
                <span  class="rev_name_edit ">Маша</span>
                <span  class="rev_mail_edit">smail@ya.ru</span>
                <span  class="rev_date_edit ">2017-02-02 00:00:00</span>
            </div>
            <div class="reviews-text">
                <span class="rev_text">Что лучше использовать: DATETIME ?</span>
                <p class='open-form'><a class="reply"  data-revid="2">Ответить</a></p>
            </div>
        </div>  
    </li>
    <li>
        <div class="reviews-content">
            <p><a class="revid-edit" data-revid="4102">Исправить</a></p>
            <div class="reviews-meta">              
                <span  class="rev_name_edit">Cаша</span>
                <span  class="rev_mail_edit">smail@mail.ru</span>
                <span  class="rev_date_edit">2017-02-02 11:11:11</span>
            </div>
            <div class="reviews-text">
                <span class="rev_text">Что лучше использовать:?</span>
                <p class='open-form'><a class="reply"  data-revid="2">Ответить</a></p>
            </div>
        </div>  
    </li>
Добавлено через 15 часов 56 минут
Сообщение от PsevdoPanda
что бы при нажатии на кнопку "Исправить" появлялось бы окно диалога jQuery UI с введенным текстом, который надо поправить.
пример с ui-dialog
PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<html>
    <head>
        <title>Тестирование ui-dialog</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf8"/>
        <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
        <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
        <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    </head>
    <body>
    <style>
        label, input { display:block; }
        input.text { margin-bottom:12px; width:95%; padding: .4em; }
        fieldset { padding:0; border:0; margin-top:25px; }
        h1 { font-size: 1.2em; margin: .6em 0; }
    </style>
    <script type="text/javascript">
        $(function () {
            var dialog, form,
                    name = $('#name'),
                    mail = $('#email'),
                    date = $('#date'),
                    id = $('#id');
 
            dialog = $("#dialog-form").dialog({
                autoOpen: false,
                height: 400,
                width: 350,
                modal: true,
                buttons: {
                    "Сохранить": editDate,
                    "Отмена": function () {
                        dialog.dialog("close");
                    }
                },
                close: function () {
                    form[ 0 ].reset();
                }
            });
 
            form = dialog.find("form").on("submit", function (event) {
                event.preventDefault();
                editDate();
            });
 
            function editDate(){
                var n = name.val(),
                    m = mail.val(),
                    d = date.val(),
                    id_wrap = id.val(),
                    wrap = $('#'+id_wrap);
                console.log(id_wrap);
                wrap.children('.rev_mail_edit').text(m);
                wrap.children('.rev_name_edit').text(n);
                wrap.children('.rev_date_edit').text(d);
 
                dialog.dialog("close");
                form[ 0 ].reset();
 
            }
            $('.revid-edit').click(function () {
                var wrap = $(this).parent().next();
                var id_wrap = $(wrap).attr('id');
                var m = $(wrap).children('.rev_mail_edit').text();
                var n = $(wrap).children('.rev_name_edit').text();
                var d = $(wrap).children('.rev_date_edit').text();
 
                mail.val(m);
                name.val(n);
                date.val(d);
                id.val(id_wrap);
 
                dialog.dialog('open');
            });
 
        });
    </script>
        <ul>
            <li>
                <div class="reviews-content">
                    <p><a class="revid-edit" data-revid="4102">Исправить</a></p>
                    <div class="reviews-meta" id="reviews-meta-1">              
                        <span  class="rev_name_edit ">Маша</span>
                        <span  class="rev_mail_edit">smail@ya.ru</span>
                        <span  class="rev_date_edit ">2017-02-02 00:00:00</span>
                    </div>
                    <div class="reviews-text">
                        <span class="rev_text">Что лучше использовать: DATETIME ?</span>
                        <p class='open-form'><a class="reply"  data-revid="2">Ответить</a></p>
                    </div>
                </div>  
            </li>
            <li>
                <div class="reviews-content">
                    <p><a class="revid-edit" data-revid="4102">Исправить</a></p>
                    <div class="reviews-meta" id="reviews-meta-2">              
                        <span  class="rev_name_edit">Cаша</span>
                        <span  class="rev_mail_edit">smail@mail.ru</span>
                        <span  class="rev_date_edit">2017-02-02 11:11:11</span>
                    </div>
                    <div class="reviews-text">
                        <span class="rev_text">Что лучше использовать:?</span>
                        <p class='open-form'><a class="reply"  data-revid="2">Ответить</a></p>
                    </div>
                </div>  
            </li>
        </ul>
        <div id="dialog-form" title="Редактирование данных">
            <form>
                <fieldset>
                    <label for="name">Имя</label>
                    <input type="text" name="name" id="name" value="" class="text ui-widget-content ui-corner-all">
                    <label for="email">E-mail</label>
                    <input type="text" name="email" id="email" value="" class="text ui-widget-content ui-corner-all">
                    <label for="date">Дата</label>
                    <input type="text" name="date" id="date" value="" class="text ui-widget-content ui-corner-all">
                    <input type="hidden" name="id" id="id" value="">
                    <input type="submit" tabindex="-1"  style="position:absolute; top:-1000px">
                </fieldset>
            </form>
        </div>
    </body>
</html>
Вопрос: Установка стиля используя jQuery для ошибок , которые генерирует jquery validate

Стиль для ошибок, которые генерируются с помощью библиотеки jquery validate можно оформить через файл *.css.

CSS
1
2
3
4
5
6
7
8
.error {
     border-color: #ef079b;
     box-shadow: 0 0 3px #ff0000; 
     color: #f9066b;
     margin-bottom: 10px;
     font-style:italic;
     font-weight:300
}
Но при использовании jquery стили для ошибок, генерируемых библиотекой jquery validate, не применяются почему то

Javascript
1
2
3
4
5
6
7
8
9
10
    /*добавление стилей в случае появления сообщения об ошибке*/
    $('.error').css({
 
    'border-color': '#ef079b',
    'box-shadow': '0 0 3px #ff0000', 
    'color': '#f9066b',
    'margin-bottom': '10px',
    'font-style':'italic',
    'font-weight':'300'
    })
Почему нельзя применить стили, используя jquery ?
Или же можно ?
Ответ:
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <meta charset="utf-8" />
 
    <link rel="stylesheet" href="css/style-index.css">
    <link rel="stylesheet" href="css/jquery-ui.theme.css">
    <link rel="stylesheet" href="css/jquery-ui.css">
    <script src="js/jquery-3.3.1.js"></script>
    <script src="js/jquery.validate.js"></script>
    <script src="js/script2.js"></script>
    <script src="js/additional-methods.min.js"></script>
    <script src="js/localization/messages_ru.js"></script>
    <script src="js/jquery-ui.js"></script>
    <script src="js/datepicker-ru.js"></script>
 
</head>
<body>
 
    <div class="validateforms">
        <h2>Валидация формы</h2>
        <hr>
        <form class="myFormValidate" role="form">
 
            <div class="form-group-index">
                <p>
                    <label for="cname">Имя</label>
                    <input class="textInput" name="cname" size="30" type="text">
                </p>
            </div>
            
            <div class="form-group-index">
                <p>
                    <label for="brand">Марка машины</label>
                    <input class="textInput" type="text"  name="brand" size="30">
                </p>
            </div>
 
 
            <div class="form-group-index">
                <p>
                    <label for="goods">Количество</label>
                    <input class="maxValidation" name="goods" size="30" type="text">
                </p>
            </div>
 
            <div class="form-group-index">
                <p>
                    <label for="price">Цена</label>
                    <input class="maxValidation" name="price" size="30" type="text">
                </p>
            </div>
 
            <div class="form-group-index">
                <p>
                    <label for="ccomment">Ваш комментарий (требуется)</label>
                    <textarea name="comment"></textarea>
                </p>
            </div>
 
            <div class="form-group-index">
                <p>
                    <input class="submit" type="submit" value="Submit">
                </p>
            </div>
 
 
        </form>
    </div>
 
</body>
</html>



Кликните здесь для просмотра всего текста
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
$(document).ready(function () {
   
    /*Получение текущей локали браузера*/
    var lang = navigator.languages[0];
    addClassErr();
 
});
 
 
 
 
function addClassErr() {
 
    $(".myFormValidate").validate({
 
 
    });
 
    jQuery.validator.addClassRules({
        textInput: {
            required: true,
            maxlength: '10',
            minlength: '2',
        },
        maxValidation: {
            required: true,
            range: [2, 10],
            digits: true,
        },
        });
 
 
    $('label.error').each(function () {
        $(this).css({
 
            'border-color': '#ef079b',
            'box-shadow': '0 0 3px #ff0000',
            'color': '#f9066b',
            'margin-bottom': '10px',
            'font-style': 'italic',
            'font-weight': '300'
        })
    })
 
}
Вопрос: Конфликт Jquery версий

Добрый день!

Простите за заезженную тему про конфликт версий, но самому разобраться не удается. Помогите пожалуйста:

Имею неск скриптов в шаблоне HTML. Вижу разные версии JQuery. Не удается их помирить
(удалить лишние версии не могу, т.к. отвечают за разные функции в сайте)


<head>

<script src="http://google.com/jsapi"></script>
<script>google.load("jquery","1.4.2");</script>

<script type="text/javascript" src="{{ 'jquery.timers-1.2.js' | asset_url }}"></script>

<!-- Инициализировать библиотеку REES46 -->
<script src="//cdn.rees46.com/rees46_script2.js" charset="UTF-8"></script>
<script type="text/javascript">
REES46.init('1c10b60fb1ffeb845ccaf1d3845fbd', null, function() { });
</script>


<script type="text/javascript">
if (REES46.initialized) {
var email = 'тот email, что оставил пользователь';
params = "email=" + encodeURIComponent(email);
params += "&declined=false";
params += "&shop_id=" + encodeURIComponent(REES46.shop_id);
params += "&ssid=" + encodeURIComponent(REES46.ssid);
REES46.ajax(REES46._SUBSCRIPTIONS_URL, 'POST', params);
}
</script>



<meta name="viewport" content="width=device-width; initial-scale=1.0" />

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <!-- подключаем последнюю версию jQuery -->

<script type="text/javascript">
//Обработка клика на стрелку вправо
$(document).on('click', ".carousel-button-right",function(){
var carusel = $(this).parents('.carousel');
right_carusel(carusel);
return false;
});
//Обработка клика на стрелку влево
$(document).on('click',".carousel-button-left",function(){
var carusel = $(this).parents('.carousel');
left_carusel(carusel);
return false;
});
function left_carusel(carusel){
var block_width = $(carusel).find('.carousel-block').outerWidth();
$(carusel).find(".carousel-items .carousel-block").eq(-1).clone().prependTo($(carusel).find(".carousel-items"));
$(carusel).find(".carousel-items").css({"left":"-"+block_width+"px"});
$(carusel).find(".carousel-items .carousel-block").eq(-1).remove();
$(carusel).find(".carousel-items").animate({left: "0px"}, 200);
}
function right_carusel(carusel){
var block_width = $(carusel).find('.carousel-block').outerWidth();
$(carusel).find(".carousel-items").animate({left: "-"+ block_width +"px"}, 200, function(){
$(carusel).find(".carousel-items .carousel-block").eq(0).clone().appendTo($(carusel).find(".c arousel-items"));
$(carusel).find(".carousel-items .carousel-block").eq(0).remove();
$(carusel).find(".carousel-items").css({"left":"0px"});
});
}
$(function() {
auto_right('.carousel:first');
})
function auto_right(carusel){
setInterval(function(){
if (!$(carusel).is('.hover'))
right_carusel(carusel);
}, 5000)
}
$(document).on('mouseenter', '.carousel', function(){$(this).addClass('hover')})
$(document).on('mouseleave', '.carousel', function(){$(this).removeClass('hover')})
</script>
</head>


Спасибо большое заранее за помощь!
Ответ: волшебная строчка чтобы мирить jquery (только надо место угадать для вставки)

var MyjQuery123 = jQuery.noConflict();
ну и номер конфликтной версии вместо 123 написать

Если модератор разрешит, поставлю ссылку на тот сайт, где нашел.

Засекаю контрольные сутки работы библиотек с этой строчкой (переживаю, что через N-выполнений начнет глючить)
Вопрос: jQuery UI explode effect

Как заставить эту дичь работать правильно?

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>explode demo</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.12.4.js"></script>
  <script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>
 
<p>Click anywhere to toggle the box.</p>
<div id="toggle">
<div style="width: 100px; height: 100px; background: #ccc"></div>
</div>
 
<script>
$( document ).click(function() {
  $( "#toggle" ).toggle( "explode" );
});
</script>
 
</body>
</html>


Суть в том, что при если сделать такой html:

<div id="toggle" style="width: 100px; height: 100px; background: #ccc"></div>


то всё работает нормально, а вот если обернуть в другой блок (как в моём примере), то скрипт работает неправильно.
Ответ: Diphenyl Oxalate,
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>explode demo</title>
  <style type="text/css">
   body{
     position: relative;
   }
   #toggle{
     margin: 50px; width: 100px; height: 100px; background: #ccc; position: absolute;
   }
  .ui-effects-explode #toggle{
     margin: 0;
   }
  .ui-effects-explode{
     margin: -20px -8px;
  }

  </style>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.12.4.js"></script>
  <script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>

<p>Click anywhere to toggle the box.</p>
<div id="toggle" ></div>

<script>
$( document ).click(function() {
  $( "#toggle" ).toggle( "explode");
});
</script>
</body>
</html>