2013-05-30 3 views
0

Я передаю дату в этом формате; YYYY-MM-DD как переменная php для функции javascript.javascript вычитание числа чисел друг от друга

однако, когда я получить его в функции JS - его пошел вперед и вычитают число

//php 
$today = "2013-05-30"; 
onclick="myjsfunction($today)" 

//js 
function myjsfunction(today) 
{ 
alert(today); 
} 

это дает 1978 (2013 минус 5 минус 30)!

Кто-нибудь знает дорогу вокруг этого?

благодаря

+0

** [Кажется, работает для меня] (http://jsfiddle.net/S6G2q/) ** – brbcoding

+0

гм, да, но его до сих пор не работает на шахте – Lan

+0

печати $ сегодня значение переменной в PHP, я думаю, не даны правильное значение. –

ответ

2

Попробуйте это:

$today = "\"2013-05-30\"";

Или

$today = "'2013-05-30'";

Или еще лучше:

//php 
$today = "2013-05-30"; 
onclick="myjsfunction('$today')" 

Идея состоит в том, что результат echo (onclick); должен быть myjsfunction('2013-05-30') или myjsfunction("2013-05-30") для параметра, обрабатываемого как строка insted целого числа (результат 2013 минус 5 минус 30).

+0

спасибо - устал, но тогда js не нравится, и он не вычисляет – Lan

+0

Вы проверили, что выводится на вашей странице html? С кодом в вашем вопросе onclick, вероятно, приводит к 'myjsfunction (2013-05-30);'. Вы хотите, чтобы это была 'myjsfunction (« 2013-05-30 »);' или 'myjsfunction ('2013-05-30');', поэтому параметр является строкой. – Johnny5

+0

Он обрабатывает их как целые числа, потому что они не экранированы надлежащим образом. Вы должны убедиться, что PHP добавляет кавычки, поэтому JS знает, что это означает, что строка не является группой целых чисел. – TheSnooker

Смежные вопросы