Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javascript元素id传递到php_Javascript_Php_Jquery_Html - Fatal编程技术网

将javascript元素id传递到php

将javascript元素id传递到php,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我得到了一个javascript函数来自动更新日期和时间 以下是我在此URL中找到的脚本: 但它完全失败了。可以将javascript元素id传递到php中吗?我该怎么做 请帮助我在表单中创建一个隐藏字段 <form id= "myform"> <input type="hidden" name="timer" id="timer" value=""> </form> 提交表格后,您将获得:- $timer = $_GET['timer']; Ja

我得到了一个javascript函数来自动更新日期和时间

以下是我在此URL中找到的脚本:

但它完全失败了。可以将javascript元素id传递到php中吗?我该怎么做


请帮助我

在表单中创建一个隐藏字段

<form id= "myform">
    <input type="hidden" name="timer" id="timer" value="">
</form>
提交表格后,您将获得:-

$timer = $_GET['timer'];

Javascript变量是在本地创建的。所以在你的电脑上。PHP变量是在服务器上创建的

要将javascript值从本地客户端发送回服务器,需要一个表单或ajax请求

下面是一个简单的jQuery Ajax请求:

$.get( "example.php", { timervalue: mytimevalue } ); 

使用此脚本,您可以将本地“mytimevalue”发送到服务器

如前所述,以表单发送是一种选择,或者使用ajax。但最简单的方法是使用JS将其设置为cookie,然后使用PHP读取cookie

JS

document.cookie=“timer=”+timer

PHP

$timer=$\u COOKIE[“timer”]

我将在此处为您添加行:

setInterval(function() {
  var currentTime = new Date ( );    
  var currentHours = currentTime.getHours ( );   
  var currentMinutes = currentTime.getMinutes ( );   
  var currentSeconds = currentTime.getSeconds ( );
  currentMinutes = ( currentMinutes < 10 ? "0" : "" ) + currentMinutes;   
  currentSeconds = ( currentSeconds < 10 ? "0" : "" ) + currentSeconds;    
  var timeOfDay = ( currentHours < 12 ) ? "AM" : "PM";    
  currentHours = ( currentHours > 12 ) ? currentHours - 12 : currentHours;    
  currentHours = ( currentHours == 0 ) ? 12 : currentHours;    
  var currentTimeString = currentHours + ":" + currentMinutes + ":" + currentSeconds + " " + timeOfDay;
  document.getElementById("timer").innerHTML = currentTimeString;
  document.cookie="timer=" + currentTimeString;
}, 1000);
setInterval(函数(){
var currentTime=新日期();
var currentHours=currentTime.getHours();
var currentMinutes=currentTime.getMinutes();
var currentSeconds=currentTime.getSeconds();
currentMinutes=(currentMinutes<10?“0”:“)+currentMinutes;
currentSeconds=(currentSeconds<10?“0”:“)+currentSeconds;
var timeOfDay=(当前小时数<12)?“AM”:“PM”;
currentHours=(currentHours>12)?currentHours-12:currentHours;
当前小时数=(当前小时数==0)?12:当前小时数;
var currentTimeString=currentHours+“:”+currentMinutes+“:“+currentSeconds+”+timeOfDay;
document.getElementById(“计时器”).innerHTML=currentTimeString;
document.cookie=“timer=“+currentTimeString;
}, 1000);

可能是一些Ajax的东西,也就是说,我不在这里了。你能进一步详细说明你说“我想在PHP上传递结果”的意思吗。这是一个PHP页面吗?@ScottL是PHP页面。如果HTML显示的结果像“12:12:32 AM”,那么我想用PHP而不是HTML来获得结果,这样我就可以在数据库中保存时间结果。如何在GETChanged it中获得post。但我猜他只是在寻找一种在服务器上获取这些值的方法。所以.post或.get应该是没有区别的。谢谢,但是有可能在没有任何提交按钮的情况下获取$timer吗?为什么要提交?您将始终重新加载页面。最好使用ajax,只发送您的计时器值,而不是在表单提交后重新加载整个页面。我对您的答案很感兴趣。这似乎可以帮助我,但我应该在哪一部分添加JS代码?在尸体标签里面还是什么地方?对不起,我是个初学者,把它放在你的区间函数里
$('#timer').val() = currentTimeString;
$('form#myform').submit();  // for submit after value set may be work not tested
$timer = $_GET['timer'];
$.get( "example.php", { timervalue: mytimevalue } ); 
setInterval(function() {
  var currentTime = new Date ( );    
  var currentHours = currentTime.getHours ( );   
  var currentMinutes = currentTime.getMinutes ( );   
  var currentSeconds = currentTime.getSeconds ( );
  currentMinutes = ( currentMinutes < 10 ? "0" : "" ) + currentMinutes;   
  currentSeconds = ( currentSeconds < 10 ? "0" : "" ) + currentSeconds;    
  var timeOfDay = ( currentHours < 12 ) ? "AM" : "PM";    
  currentHours = ( currentHours > 12 ) ? currentHours - 12 : currentHours;    
  currentHours = ( currentHours == 0 ) ? 12 : currentHours;    
  var currentTimeString = currentHours + ":" + currentMinutes + ":" + currentSeconds + " " + timeOfDay;
  document.getElementById("timer").innerHTML = currentTimeString;
  document.cookie="timer=" + currentTimeString;
}, 1000);