我有一个页面有javascript
日期选择器,其结果进入HTML表单的输入框(见下图)。这很好用。
我还希望将所选日期存储为session variable
。任何人都可以指出我应该怎么做?可以在session variable
内分配javascript
吗?
代码:
<?php
session_start();
日期选择器
....
<script type="text/javascript">
window.onload = function(){
g_globalObject1 = new JsDatePick({
useMode:2,
target:"inputFieldStart",
dateFormat:"%Y-%m-%d",
cellColorScheme:"armygreen"
});
};
</script>
HTML表单
<form action="https://website" method="Post">
<input name="StartDate" type="text" id="inputFieldStart">
<input type="Submit" value="Update" class="button">
</form>
答案 0 :(得分:1)
会话变量需要在服务器上设置为php变量。您的HTML表单使用Post方法调用您的服务器将此变量传递给php页面,并且可以使用
将其读取并设置为会话变量<?php
$start_date = $_POST["StartDate"];
$_SESSION['start_date'] = $start_date;
?>
答案 1 :(得分:1)
将其设置为
的会话 $_SESSION["date"] = $_POST["StartDate"];
to&#34;用javascript&#34;设置它使用AJAX。例如jQuery's $.ajax
答案 2 :(得分:1)
无法直接使用JavaScript 分配会话变量,但是如果必须坚持使用JavaScript,则可以使用AJAX向PHP文档发送请求以创建/更改会话变量。
在PHP文档中(我们称之为date_assign.php
)写下以下内容:
$date = $_POST['date'];
$_SESSION['date'] = $date;
然后在您的JavaScript中使用此函数(当然包含jQuery库)将请求发送到PHP文档。
// Function to call in order to change session variable.
function sessionVariable() {
// Get date from picker.
var date = $('#inputFieldStart').value();
// Create data string.
var datastr = 'date=' + date;
// Create the AJAX request.
$.ajax({
type: 'POST',
url: 'date_assign.php',
data: datastr
});
}
当然,这有很长的路要走,但这意味着你可以用JavaScript完成它。您可以在需要设置会话变量时调用该函数,这可以在一段时间内完成,或者您可以将单击侦听器绑定到Submit
按钮以发送数据和您的呼叫。