badyllek1993 Posted January 6, 2014 Share Posted January 6, 2014 (edited) Witam serdecznie, mam problem z wyświetleniem bloku "datepicker" korzystającego z jQuery. Tutaj fragment kodu jaki wpisuję w pliku "ProductController.php": $wynik='<head> <meta charset="utf-8"> <title>jQuery UI Datepicker - Restrict date range</title> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script> var jquery = $.noConflict(true); </script> <script> jquery(function() { // Disable a range of dates var disabledDaysRange = [['.$dwa.'], \'9-17-2013\']; function disableRangeOfDays(d) { for(var i = 0; i < disabledDaysRange.length; i++) { if(jquery.isArray(disabledDaysRange[i])) { for(var j = 0; j < disabledDaysRange[i].length; j++) { var r = disabledDaysRange[i][j].split(" to "); r[0] = r[0].split("-"); r[1] = r[1].split("-"); if(new Date(r[0][2], (r[0][0]-1), r[0][1]) <= d && d <= new Date(r[1][2], (r[1][0]-1), r[1][1])) { return [false]; } } }else{ if(((d.getMonth()+1) + \'-\' + d.getDate() + \'-\' + d.getFullYear()) == disabledDaysRange[i]) { return [false]; } } } return [true]; } jquery(\'#od\').datepicker({ dateFormat: \'dd-mm-yy\', minDate: 0, beforeShowDay: disableRangeOfDays, onClose: function( selectedDate ) { jquery( "#do" ).datepicker( "option", "minDate", selectedDate ); } }); jquery(\'#do\').datepicker({ dateFormat: \'dd-mm-yy\', beforeShowDay: disableRangeOfDays }); }); </script> <script type="text/javascript"> function validation() { var form = document.getElementById(\'buy_block\'), rules = { // 1 \'od\' : /^\d{2}\-\d{2}\-\d{4}/, \'do\' : /^\d{2}\-\d{2}\-\d{4}/, }; for (var elem in rules) // 2 { if (form[elem]) { if (!rules[elem].test(form[elem].value)) // 3 { alert(\'Podaj prawidłową datę w polu "\' + elem + \'".\'); form[elem].style.background = \'red\'; return false; } else { form[elem].style.background = \'\'; } } } return true; } </script> </head> <body> Zarezerwuj ten pojazd już teraz: <p>Od: <input id="od" name="od" type="text" ></p> <p>Do: <input id="do" name="do" type="text" ></p> </body>'; $this->context->smarty->assign(array('moj_wynik_z_php' => $wynik)); A tutaj fragment jaki znajduje się w pliku szablonu "product.tpl": <form id="buy_block" name="info-form" {if $PS_CATALOG_MODE AND !isset($groups) AND $product->quantity > 0}class="hidden"{/if} action="{$link->getPageLink('cart')}" method="post" onsubmit="return validation();"> {$moj_wynik_z_php} Pojawiają się dwa pola formularza, działa JavaScript sprawdzający, czy pola zostały wypełnione prawidłowo, ale nie działa wysuwanie kalendarza korzystającego z jQuery. Proszę o pomoc. Dodam, że to mi działało, ale zainstalowałem nowy szablon, opublikowałem kilka nowych modułów i teraz nie działa ani na nowym, ani na starym szablonie. Wyłączałem pojedynczo wszystkie aktywne moduły, ale to nic nie daje.Adres strony:http://www.algarve-campers.com/pl/algarve-campers/4-peugeot-j5-.html Dziękuję i pozdrawiam, badyllek1993 Edited January 7, 2014 by badyllek1993 (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted January 7, 2014 Share Posted January 7, 2014 trzeba usunąć <body> <html> i inne tego typu tagi z kodu, nie potrzeba korzystać z nich bo są one już zdefiniowane. przez to masz zduplikowane tagi. u mnie działa: Link to comment Share on other sites More sharing options...
badyllek1993 Posted January 8, 2014 Author Share Posted January 8, 2014 Tak, działa, ponieważ obecny kalendarz nie działa na jQuery, ale na zwykłej JS + HTML, dokładnie rzecz biorąc do modułu rezerwacji nad którym pracowałem użyłem http://www.dhtmlx.com/docs/products/dhtmlxCalendar/ Tak naprawdę jakiś błąd powodował szablon, podejrzewam, że któryś z modułów. Wyłączyłem ustawienia szablonu i po przełączeniu na domyślny template kalendarz działał, po przejściu na nowo doinstalowany - nie działał. Nie miałem już czasu szukać błędu, dlatego zmieniłem całkowicie technologię i porzuciłem jQuery. Pozdrawiam, badyllek1993 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now