2011-12-19 218 views
2

我想在PHP变量,提取时间“10:30”stime jQuery的字符串变量如何将jquery变量传递给php变量?

和转让价值的 “10:30” 这样的格式“10,30”

<script> 

var stime = 'Sat Dec 17 2011 10:30:00 GMT+0530 (India Standard Time)'; 

<?php  
    $s = "<script>document.write(stime);</script>";  
    $e = "<script>document.write(etime);</script>";  
    $stime = substr($s,15,6); 
//substr_replace(string,replacement,start,length) 
    $convert_stime = substr_replace($stime,", ",3,1); 
?>  
</script> 

/** 
Output Will Be 
-------------- 
Time: 10:30 
Converted Time: 10, 30 
***/ 

有办法处理它吗?帮助我,任何建议表示赞赏。谢谢!

+2

PHP上运行JS在客户端上运行时(在从PHP呈现页面后)服务器。您需要通过POST /通过表单获取值或使用AJAX将客户端的值“传递”到服务器端。 – Bryan 2011-12-19 06:51:08

+1

顺便说一句:没有必要这样做,你可以转换时间和操纵JavaScript中的字符串。 – 2011-12-19 07:10:34

回答

4

JQuery是Javascript,在客户端工作。 PHP是服务器端的。您将需要执行某种类型的回传以将该数据发送到服务器。当客户端已经呈现页面时,PHP不能被调用。

+0

Aala gal keeto o sohnya – Sami 2014-03-01 19:33:42

1

这是不可能的从上面的代码。尝试使用Ajax。

Javascript是客户端。 PHP是服务器端。

你可以通过PHP变量的JavaScript(如你在上面所做的) 但反转是不可能的,除非你使用AJAX或类似的

+0

//我想将“10:30”部分从mysrting转换成“10,30” var mystring =“Sat Dec 17 2011 10:30:00 GMT + 0530(India Standard时间)”; 输出将被 时间:10:30 更改的格式:10,30 – 2011-12-19 07:01:27

1

的Javascript(因此,jQuery的)东西,直到客户的未执行浏览器在加载页面时遇到它。任何代码到达客户端之前,PHP都会在服务器端发生。将Javascript变量传递给PHP的唯一方法是通过GET或POST请求(这可以通过AJAX或同步页面加载)。

例如,你可以通过JS变量值到查询字符串存储在PHP的$ _GET变量:

//Javascript loads the page with variable values in the querystring 
var firstVar = 'first_value'; 
var secondVar = 'second_value'; 
location.href = 'index.php?firstvar='+firstVar+'&secondvar='+secondVar; 

//at index.php?firstvar=first_value&secondvar=second_value, we parse items from the $_GET variable into discrete PHP variables 
$firstVar = $_GET['firstvar']; 
$secondVar = $_GET['secondvar']; 
+0

我必须这样做无需重新加载页面 – 2011-12-19 06:58:10

+0

在这种情况下,你需要在你通过'stime'和'etime' AJAX调用到您的PHP脚本进行处理并返回到responseText中的页面。 – Aaron 2011-12-19 07:02:00

+0

而且,说实话,你正在做的字符串转换(如果这真的是你打算用这些数据做的程度)可以完全用Javascript处理。 – Aaron 2011-12-19 07:03:35

1

看来你是从根本上混淆JavaScript和PHP。

PHP是服务器端编程语言。它正在服务器机器上解释和执行,输出通常通过HTTP传递给用户。

Javascript是客户端脚本语言,并在用户机器上使用浏览器作为执行环境执行。

想要实现的目标可以通过HTTP POST方法(或GET - 取决于语义)从客户端代码(javascript)向服务器发送HTTPRequest来完成,您可以在其中使用PHP解析它。您可以学习更多关于AJAX,HTTP协议,javascript和客户端 - 服务器架构基础等主题。干杯队友

1

你不能'jquery变量传递给php这种方式.JQuery不会运行在你的服务器上,但在客户端上。在你的代码中,'$ s =“document.write(stime);” ``tag中的那部分将被视为字符串。

做你想做的事情的另一种方法是在javascript中完成所有的格式化工作,或者在PHP中完成它,或者你也可以通过ajax传递时间变量并在PHP中格式化,然后在ajax中获取它。

的javascript:

var stime='Sat Dec 17 2011 10:30:00 GMT+0530 (India Standard Time)'; 
var etime=stime.substr(15,6); 
var res=etime.replace(":",","); 

AJAX版本(如果必须使用两个方法一起): 客户端:

var stime='Sat Dec 17 2011 10:30:00 GMT+0530 (India Standard Time)'; 
$.ajax({ 
url:"/your_php_script", 
data:{"stime":stime}, 
success:funciton(data){ 
    alert(data); 
} 
}) 

PHP端:

$stime=$_GET['stime']; 
    $stime = substr($s,15,6); 
    $convert_stime = substr_replace($stime,", ",3,1); 
    echo $convert_stime;