• 52525
  • 107
  • 12
Нравится блог?
Подписывайтесь!

JavaScript и jQuery заметки

JavaScript мелочи для себя

# значение выделенного пункта select

  1. t = document.getElementById('...'); // вместо '...' подставить id select'a
  2. alert(t.options[t.selectedIndex].text);
 

# адрес страницы

alert(location.href);

Удобно использовать для подстановки адреса, например, в формах и для POST/GET запросов, чтобы не заморачиваться с адресом строки, если данные отправляются на неё же.

 

# передать в php данные и вернуть массив в jQuery с помощью JSON

jQyery код
  1. $.getJSON("index.php?mod=creator", // куда передаём
  2. { show: t }, // какие параметры передаём
  3. function(json) {
  4. alert(json); // ответ. данные идут через запятую
  5. });
PHP код
  1. // $row - массив, ответ на запрос
  2. echo json_encode($row);
 

# глюк parseInt

Представим что надо перевести значение месяца в число. Август - 08. parseInt('08') выдаст 0!!! Т.к. из-за первого 0 он считает число восьмеричным.

Чтобы этого не было надо указывать систему счисления.

Правильно обрабатывать надо так: parseInt('08', 10);

 

# замена по всему тексту

жирным выделено что и на что меняется. ключ g показывает что заменяется не один раз, а по всему тексту. есть два варианта.

text_r = text_r.replace(new RegExp(massiv1[key],'g'),massiv2[key]);

или

text_r = text_r.replace(/{fopl_r}/g,(json[6]==1?'1':'2'));

 

# задержка выполнения jQuery запроса

Если запрос не успевает сработать и вернуть результат, то пользуемся асинхронной отправкой. Это блокирует браузер на время выполнения запроса.

задержка jQuery для обработки результата запроса
  1. $.ajax({
  2. type: "POST",
  3. url: "твой_урл",
  4. data: "spec=1", // какие-то данные отправляем
  5. async: false, // вот наша красота. делаем запрос синхронным
  6. success: function(da){
  7. // что-то делаем с полученным ответом da
  8. })
 

# автоматический редирект, переход на другую страницу

автоматический редирект, переход на другую страницу
  1. var a=10; // количество секунд отсчета
  2. function GoNah(){
  3. document.getElementById('sec').innerHTML = a--; //выводим на панель счетчика с id=sec
  4. if (a > 0) setTimeout( 'GoNah()', 1000 ); // через секунду по новой
  5. else location="localhost"; // сюда подставляем нужный урл
  6. }
  7. setTimeout( 'GoNah()', 1000 ); // выполняем функцию через секунду после открытия страницы
 

# получить значения radiobutton

  1. galka = $('input[name=theme'+theme+']:checked').val();
  2. // или если конкретно радиобаттон
  3. galka = $('input[name=vybor]:radio[checked]').val();
 

# форматирование даты в 'yyyy-mm-dd'

Делаем по-простому:

  1. var now = new Date();
  2. var Year = now.getFullYear();
  3. var Month = now.getMonth() + 1; // месяцы считает с 0, потому прибавим
  4. if (Month < 10) Month = '0' + Month;
  5. var Day = now.getDate();
  6. if (Day < 10) Day = '0' + Day;
  7. var today = Year + '-' + Month + '-' + Day;

вот и всё )

 

# проверка на число

Глюк в том что isNaN хавает и строки. Лечится так.

  1. current_val = parseInt('какой-то_параметр', 10);
  2. if (current_val != current_val) {
  3. alert("материмся");
  4. return;
  5. };

"NaN не равно самому себе, таким образом сравнение n != n будет истинным только в случае когда n равно NaN".

 

# подключение jQuery библиотеки из запасного места, на случай если с первого не подключилось


  1. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script>
  2. <script>!window.jQuery && document.write('<script src="http://code.jquery.com/jquery-1.6.3.min.js"><\/script>');</script>

красивое решение :)

# заготовка для ajax запросов для простого javascript


  1. var xmlhttp = false;
  2. try { xmlhttp = new ActiveXalbumsect("Msxml2.XMLHTTP"); }
  3. catch(E) {
  4. try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  5. catch(E) { xmlhttp = false; }
  6. }
  7.  
  8. if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
  9. xmlhttp = new XMLHttpRequest();
  10. }
  11.  
  12. function makeQuery(serverPage, objectName) {
  13. xmlhttp.open("GET", serverPage, true);
  14. xmlhttp.onreadystatechange = function() {
  15. if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
  16. var txt = xmlhttp.responseText;
  17. document.getElementById(objectName).innerHTML = txt;
  18. }
  19. }
  20. xmlhttp.send(null);
  21. }

Пример вызова:


  1. function PrDis() {
  2. var sem = document.getElementById('sem').value;
  3. var sot = document.getElementById('sot').value;
  4. var serverPage = "index.php?mod=zhurnal&prd=1&sem="+sem+"&sot="+sot;
  5.  
  6. makeQuery(serverPage, 'kuda_div');
  7. }
   
Руслан Fors fors
... и тем не менее я не идеален.
28 июня 2012, 10:34
2651

Загрузка...
Loading...

Комментарии

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Я аллергик с детства. Имею аллергию на пыльцу березы, липы, полыни (выяснил это благодаря кожным пробам), а также пищевую аллергию на горчицу. Свои проблемы знаю, однако это меня не спасло.
Romeo_17
15 авг. 2017 / 17:21
  • 38909
  • 63
СМИ – ассистент провокаторов? Как гости из соседних стран сеют раздор в Казахстане

СМИ – ассистент провокаторов? Как гости из соседних стран сеют раздор в Казахстане

Инцидент с пьяным киргизским гостем на борту Air Astana, наверное, остался бы только во внутренних сводках авиакомпании, если бы г-н Доган, не поднял громкий крик о государственном языке.
openqazaqstan
17 авг. 2017 / 14:43
  • 11414
  • 177
Казахский национализм раньше выглядел несовременно. Теперь он другой

Казахский национализм раньше выглядел несовременно. Теперь он другой

Националисты стали совсем другими. По-английски хорошо говорят, русскую классику цитируют. Очень современные, образованные, адекватные. А после Крыма в националисты уже чуть ли не любой казах готов был записаться.
Aidan_Karibzhanov
16 авг. 2017 / 16:52
Имеющий уши да услышит. Латиница касается только казахского языка

Имеющий уши да услышит. Латиница касается только казахского языка

Президент Назарбаев наконец-то разъяснил для всех, кто ещё не понял, очевидный вопрос, который всем в Казахстане очевиден. Елбасы повторил: на латиницу мы переводим казахский язык, и это не означает отказ от русского языка.
openqazaqstan
18 авг. 2017 / 16:23
  • 3236
  • 52
«Доехать до Алтын Орды» – как мошенники обманывают алматинцев

«Доехать до Алтын Орды» – как мошенники обманывают алматинцев

Из множества грустных откровений постепенно сложился перечень самых распространённых уловок охотников за нашими деньгами. В нём ожидаемо лидировали профессиональные попрошайки.
caravan_kz
16 авг. 2017 / 15:05
  • 2196
  • 2
Надо научиться видеть скрытые экономические процессы за вспышкой национального гнева

Надо научиться видеть скрытые экономические процессы за вспышкой национального гнева

При полном отсутствии бюджетного жилищного строительства, целые аулы оседают в ветхих домишках, сквозь заборы которых насмешливо возвышаются башни "коктемов", "риц карлтонов" и "есентаев".
niyazov
19 авг. 2017 / 11:16
  • 2217
  • 60
В Кокшетау строят два парка для молодёжи. Будут учтены интересы и любителей спорта

В Кокшетау строят два парка для молодёжи. Будут учтены интересы и любителей спорта

Общая площадь парка составляет 25 гектаров. На территории предусмотрено устройство прогулочных дорожек, площадок для установки аттракционов и павильонов различного назначения, цветников.
zhasakmola
17 авг. 2017 / 17:13
  • 2050
  • 1
В «Жилстройсбербанке» посоветовали не ходить в кафе, а копить на квартиру

В «Жилстройсбербанке» посоветовали не ходить в кафе, а копить на квартиру

При какой зарплате можно купить квартиру, рассказала председатель правления АО ЖССБ Ляззат Ибрагимова. Она также подчеркнула, что придется забыть, что такое вечеринки, кафе и всякие развлечения.
tala03
18 авг. 2017 / 9:55
  • 1652
  • 47
Как я перестала верить в бога: «Религия показалась мне фарсом, а бог – выдумкой»

Как я перестала верить в бога: «Религия показалась мне фарсом, а бог – выдумкой»

Первое, что зародило во мне сомнения – это стэндап-выступление Джорджа Карлина. Его монолог о религии показался мне смешным, но его было недостаточно, чтобы пошатнуть годы моей веры в бога.
DominaOmnium
18 авг. 2017 / 22:17
  • 1731
  • 86