[JS, PHP] kalendarz w JS

0

Witam,
Pisze strone http://www.dynamicdrive.com/dynamicindex7/jasoncalendar.htmwstawieniu kalendarza napisanego w JS.
Kalendarz przekazuje date w polu ukrytym w formularzu html.
Wszystko dziala dobrze, tylko jest problem z pobraniem tej daty do zmiennej, ktora bedzie
widoczna w PHP.
Link do kalendarza: http://www.dynamicdrive.com/dynamicindex7/jasoncalendar.htm

W pliku PHP uzywam wstawek HTML i kod:
echo '<script type="text/javascript" src="calendarDateInput1.js"></script>';
echo "<form><script>DateInput('orderdate1', true, 'YYYY-MM-DD')</script>";
echo '<input type="button" onClick="alert(this.form.orderdate1.value)" value="Pokaz"></form>';

generuje okienko z prawidlowa data, chccialbym, aby ta data byla tez zapisywana do zmiennej w php, tak, aby uzyc jej dalej w operacjach na bazach danych.

Z gory dziekuje za pomoc
ketrab

0

Do zmiennej $data można zapisać bezpośrednio przy wypluwaniu:

echo('<script type="text/javascript" src="calendarDateInput1.js"></script>
<form><script>' . $data = DateInput('orderdate1', true, 'YYYY-MM-DD') . '</script>
<input type="button" onClick="alert(this.form.orderdate1.value)" value="Pokaz"></form>');

Można jeszcze klasycznie:

$data = DateInput('orderdate1', true, 'YYYY-MM-DD');
echo('<script type="text/javascript" src="calendarDateInput1.js"></script>
<form><script>' . $data . '</script>
<input type="button" onClick="alert(this.form.orderdate1.value)" value="Pokaz"></form>');
0

Niestety, podany przez Ciebie skrypt nie dziala.
Po wstawieniu kodu przegladarka nie ładuje strony.
Probowalem juz na wiele sposobow... :(

0

O SHIT! Ja myślałem że to funkcja PHP, a ty chcesz ściągnąć to co wygeneruje przeglądarka. Niestety nie ma możliwości pobrania daty wyświetlanej z JavaScriptu do serwera bo jest za późno. Użyj jakiejś funkcji po stronie PHP. Po prostu wstaw tam gdzie chcesz, aby wyświetliła się data kod:

$data = date([tu argumenty; poszukaj na php.net]);
echo($data);
0

Myslalem, ze dam rade sobie z tym poradzic;/
Skoro po wybraniu w kalenarzyku daty, po kliknieciu przycisku "Pokaz" moge wyswietlic ta date. W JS tworzy sie ukryte pole z ktorego moge odczytac w htmlu date:
<input type="button" onClick="alert(this.form.orderdate1.value)" value="Pokaz"></form>');
Nie rozumiem, dlaczego pojawia sie problem z pobraniem tej zmiennej do php?
Ten kalendarzyk jest dosc popularny.

Dzieki za probę pomocy
Ketrab

0

Brak nazwy pod jaką ma być w PHP (atrybut name).

0

Ale on po przesłaniu dokumentu chce pobrać zmienną do dokumentu który przesłał tenże dokument czyli chce dokonać nawigacji:
Server -> Client -> Server w jednym połączeniu podczas realizacji jednego żądania -_-

0

no mozna to wyslac ajaxem do serwera w tle...

0

Na jednym z forów php znalazlem taki kod. Podobo jest rozwiazaniem problemu, ale ja nie potrafire ciagle zapisac tej nieszczesnej daty do zmiennej w php.

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" src="calendarDateInput.js"></script> </head> <body> <? if(isset($_GET['orderdate'])) { echo $_GET['orderdate']; } ?> <form mathod="post" action="&lt;? echo $_SERVER['PHP_SELF']; ?">"> <script>DateInput('orderdate', true, 'YYYY-MM-DD')</script> <input type="submit" value="zzz" /> </form> </body> </html>

Potrafi ktos zmodyfikowc ten kod, aby date zapisywac tez do zmiennej php?

0
Ketrab1985 napisał(a)
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" src="calendarDateInput.js"></script> </head> <body> <? if(isset($_GET['orderdate'])) { echo $_GET['orderdate']; } ?> <form <span="&lt;span" style="color: red">mathod="post"</span> action="<? echo $_SERVER['PHP_SELF']; ?>"> <script>DateInput('orderdate', true, 'YYYY-MM-DD')</script> <input type="submit" value="zzz" /> </form> </body> </html>

Potrafi ktos zmodyfikowc ten kod, aby date zapisywac tez do zmiennej php?

będzie działać jeśli dane odczytasz tą samą metodą którą wysyłasz czyli form mathod="post" odczytujesz $_POST['zmienna']
więc:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="calendarDateInput.js"></script>
</head>
<body>

<?
if(isset($_POST['orderdate'])) {
    echo $_POST['orderdate'];
}
?>

<form mathod="POST" action="<? echo $_SERVER['PHP_SELF']; ?>">

<script>DateInput('orderdate', true, 'YYYY-MM-DD')</script>
<input type="submit" value="zzz" />
</form>
</body>
</html>

powinno działać. :)
jeśli nie wiesz czym przesyłasz dane próbuj wstawić gdzieś var_dump($_REQUEST)

0

Już wiesz o co chodzi?

Jeżeli nie to wpisz sobie po prostu

if (isset($_POST['orderdate']))
{
$data = $_POST['orderdate'];
echo = $data;
}

i do zmiennej data masz podpiętą datę z kalendarza

1 użytkowników online, w tym zalogowanych: 0, gości: 1