Pokazywanie postów oznaczonych etykietą javascript. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą javascript. Pokaż wszystkie posty

2015-12-02

bootstrap-datepicker: position bug

Korzystając z biblioteki bootstrap-datepicker spotkałem się z pewnym błędem w pozycjonowaniu okienka:

Problem rozwiązałem modyfikując kilka linijek w pliku js/bootstrap-datepicker.js:

Przed modyfikacją:

var left = offset.left - appendOffset.left, top = offset.top - appendOffset.top;

Po modyfikacji:

var left = offset.left - appendOffset.left, top = offset.top;

2015-08-06

Symfony2 - FOSJsRoutingBundle

Za pomocą bundla FOSJsRoutingBundle można korzystać z routingu Symfony w javascriptowym kodzie. Poniżej krótki przykład:

PHP:

 /**
  * @Route("/ks", options={"expose" = true}, name="nfz.raport_wykbadpoz_kolumny_standardowe")
  * @Template("raport/kolumny_standardowe.html.twig")
  *
  * @return array
  */
 public function kolumnyStandardoweAction()
 {
  $ar_kolumny_standardowe = $this->raportWykbadpozManager->getKolumnyStandardowe();
  return compact('ar_kolumny_standardowe');
 }

JavaScript:

$.wczytajKolumnyStandardowe = function(url){
    var kolumny_standardowe = $("#kolumny_standardowe");

    $.post(Routing.generate("nfz.raport_wykbadpoz_kolumny_standardowe"), {}, function(data){
        kolumny_standardowe.html(data);
    });
};
Należy pamiętać o options={"expose" = true} w annotacjach. Więcej informacji na githubie.

2015-08-04

Wyświetlenie okienka potwierdzającego po kliknięciu w link

Czasem przed wykonaniem pewnej akcji (np. przed usunięciem pozycji) chcemy wyświetlić okienko potwierdzające czy na pewno wykonać daną czynność. Aby to zrobić wystarczy dodać do linka atrybut onclick:

Twig:
Usuń
Javacript:
function confirmDelete(id) {
    return confirm("Czy na pewno usunąć wybraną pozycję (" + id + ")?");
}

2013-12-13

[js] Zabezpieczenie przed ponownym wczytaniem skryptu

Jeśli chcemy tylko raz wczytać dany skrypt JavaScript wystarczy mały zabieg:
 if(typeof wczytano_skrypt === "undefined"){
  $(".szczegoly_uprawnienia").on({
   click: function(){
    console.log("kaboooom!");
   }
  });
  wczytano_skrypt = true;
 }

2013-02-20

[js][jquery] Mały przykład regular expression

Wykonanie "if'ka" jedynie w przypadku wpisania do html'owego inputa (o id badane_pole) numeru zgodnie z formatem:

OW/EEE/RR/NNNNN

gdzie:
OW - dwie cyfry
EEE - trzy cyfry lub duże litery
RR - dwie cyfry
NNNNN - pięć cyfr

var rege = /^([0-9]{2})+\/([A-Z0-9]{3})+\/([0-9]{2})+\/([0-9]{5})$/;
if(rege.test($("#badane_pole"))){
    //gogogo!
}

2011-06-01

[php] rawurlencode() i [js] decodeURIComponent()

Chcąc zakodować jakiś string w PHP i poprawnie go odkodować przy użyciu JavaScriptu proponuję zastosować wbudowane funkcje: rawurlencode() i decodeURIComponent().
urlencode() nie do końca mi wystarczyło - funkcja zmienia na przykład spację na "+" zamiast na %20 (przez co trudniej taki string odkodować wbudowanymi funkcjami w js). decodeURI natomiast nie odkodowało np. znaków %21 (!) czy %40 (@).
Tak więc rawurlencode() i decodeURIComponent() to dobre połączenie - przynajmniej dla mnie. :-)

2010-12-14

[js][jQuery] Czy zmienna istnieje i nie jest pusta

Prosty sposób na sprawdzenie czy zmienna istnieje i nie jest pusta:

var zmienna = $("#zmienna").val();
if(typeof zmienna !== "undefined" && zmienna){
alert(zmienna);
} else {
alert("brak zmiennej lub pusta");
}

2010-12-06

[jQuery] $.get() i wykorzystanie danych w innej funkcji

Funkcja $.get() daje bardzo fajną możliwość wykorzystania świeżo pobranych danych w innej funkcji:

function wczytajCos(){
$.get('cos.php?cl=foo', zrobCos);
}

function zrobCos(data){
alert(data);
}

Jak łatwo się domyśleć funkcja wczytajCos() prześle zmienną foo w tablicy $_GET do strony cos.php i uruchomi funkcję zrobCos(), która z kolei wyświetli w alercie wynik tej akcji.

2010-06-17

[jquery] Automatyczne wylogowanie użytkownika

W jaki sposób wylogować użytkownika z programu gdy on sam tego nie zrobi? Jak go wylogować gdy zamknie okno przeglądarki lub wyjdzie z programu przechodząc na inną stronę? Jak to zrobić pod Firefox'em?
Szukam odpowiedzi na te pytania od jakiegoś czasu i znaleźć tak do końca dobrego sposobu nie mogę. W sieci też nie namierzyłem żadnego dobrze działającego rozwiązania a jak to mawiają jak czegoś nie ma w googlach to na pewno to coś nie istnieje. ;)
Mimo wszystko nie poddaję się i coś kombinuję - udało mi się znaleźć pewnie rozwiązanie, dzięki któremu ilość wylogowań użytkowników z systemu znacznie wzrosła.

W momencie gdy na utworzymy plik autologout.js w którym umieścimy:

$(document).ready(function(){
function bye(e) {
location.href = "logout.php";
}
window.onbeforeunload=bye;

$("#nazwaBody").mousedown(function(){
window.onbeforeunload=null;
});
});

a w samym kodzie strony umieścimy:

<script type='text/javascript' src='autologout.js'></script>

oraz dodamy id do body:

<body id="nazwaBody">

to każda próba wyjścia z systemu spowoduje przejście do strony logout.php. Aby skrypt nie zadziałał w momencie przejścia z jednej podstrony systemu do drugiej wyłączamy onbeforeunload gdy użytkownik kliknie gdziekolwiek w obszarze aplikacji.

Nie jest to idealne rozwiązanie (można je obejść w prosty sposób) ale mimo wszystko ilość wylogowujących się z systemu użytkowników wzrosła z 10 do 90 procent co bardzo mnie cieszy. :)

Szukam w dalszym ciągu lepszego rozwiązania tego problemu...

2010-05-11

[jquery][php] $_GET w jQuery

Aby skorzystać z tablicy $_GET w jQuery wystarczy:

function getQueryParams(qs) {
qs = qs.split("+").join(" ");
var params = {};
var tokens;

while (tokens = /[?&]?([^=]+)=([^&]*)/g.exec(qs)) {
params[decodeURIComponent(tokens[1])]
= decodeURIComponent(tokens[2]);
}

return params;
}

var $_GET = getQueryParams(document.location.search);

źródło: http://stackoverflow.com/questions/439463/how-to-get-get-and-post-variables-with-jquery

2010-01-14

[jQuery] Gadżet Blogger'a z fotkami z Flickr'a

Stworzyłem mały gadżet do bloggera, za pomocą którego można tutaj obejrzeć moje fotki z galerii flickr'owej. Skorzystałem z ogólnodostępnych dobrodziejstw: API Flickr'a, jQuery'ego no i możliwości tworzenia własnych gadżetów na bloggerze.