我有一个关于从php到javascript的数据传输的问题.我从数据库收集一些数据,我将它们格式化为:
for($i=0;$i<(sizeof($lt_periods_query['period_id']));$i++){
$period_id = $lt_periods_query['period_id'][$i];
$lt_id = $lt_periods_query['lt_id'][$i];
$period_name = $lt_periods_query['period_name'][$i];
$fDate = $lt_periods_query['fromDate'][$i];
$tDate = $lt_periods_query['toDate'][$i];
$minStay = $lt_periods_query['min_stay'][$i];
$nightly_rate= $lt_periods_query['nightly_rate'][$i];
if (strStartsWith($fDate, $currentYear)=='true'){
$year = $currentYear;
} else if(strStartsWith($fDate, $nextYear)=='true'){
$year = $nextYear;
}
$temp_period_details = array();
$temp_period_details['period_id'] = $period_id;
$temp_period_details['lt_id'] = $lt_id;
$temp_period_details['period_name'] = $period_name;
$temp_period_details['fromDate'] = $fDate;
$temp_period_details['toDate'] = $tDate;
$temp_period_details['min_stay'] = $minStay;
$temp_period_details['nightly_rate'] = $nightly_rate;
$periods[$year][$period_name] = $temp_period_details;
}
Run Code Online (Sandbox Code Playgroud)
当我打印时,我能够看到它们:
echo "RULE for 6 days <br>";
$days= '5';
$selPeriod = 'off_peak';
$selYear = '2011';
echo …Run Code Online (Sandbox Code Playgroud) 我使用$ _GET方法(team1,team2)将两条信息传递到php页面.我想在一些javascript中将它们用作变量.我怎样才能做到这一点?
谢谢
是否可以在javascript中使用早期PHP代码中定义的变量?
例如(在页面模板PHP文件中):
<?php
$arr = array(-34, 150);
?>
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
...
var latlng = new google.maps.LatLng($arr);
...
}
</script>
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个网站,其中有人可以创建一个"项目",数据库将存储一个id和PHP生成该ID的网址.因此,下次当该人返回该网址时,它将记住该人的设置(变量).现在问题是在我的网站上javascript需要知道这些变量.
那么什么是最好的解决方案呢?传递超全球"GET"中的变量或者cookie?或者有更好的方法将这些变量传递给javascript吗?
我试图将PHP变量传递给javascript函数.我知道有很多关于这个问题的文章/问题,但它们似乎都不适合我.我的问题有点奇怪.让我从代码开始.
这是我的PHP代码:
<?php
session_start();
$type = 'Dance';
$environment = 'Outside';
?>
Run Code Online (Sandbox Code Playgroud)
这是HTML代码:
<form onsubmit="showEvents(<?=$type ?>, <?=$environment ?>)">
<select class="drop_down_menus" name="type">
<option>All</option>
<option>Dance</option>
<option>Festival</option>
<option>Music</option>
<option>Stand-Up</option>
<option>Theather</option>
</select>
<select class="drop_down_menus" name="environment">
<option>All</option>
<option>Indoor</option>
<option>Outdoor</option>
</select>
<input type="submit" id="submit_button" value="Event Me Out!">
</form>
<div id="test_div">test1</div>
Run Code Online (Sandbox Code Playgroud)
这是JS代码:
function showEvents(type, environment) {
document.getElementById('test_div').innerHTML = "test2";
}
Run Code Online (Sandbox Code Playgroud)
当我单击提交按钮时,"test_div"的文本必须从"test1"更改为"test2",但在提交表单时没有任何更改.
奇怪的事情从这里开始:
当我使用以下PHP变量并将两个变量更改为"$ current_year"时,它可以工作!
<?php
$today = getdate();
$current_year = $today['year'];
?>
<form onsubmit="showEvents(<?=$current_year ?>, <?=$current_year ?>)">
...rest of the HTML code...
Run Code Online (Sandbox Code Playgroud)
我首先认为这是一个范围问题,但显然不是因为一个变量有效,而有些变量不是因为范围相同.
也许有一些非常简单的事我不知道.如果你能帮助我(或指导我另一个问题),我将不胜感激.迄今为止,这些解决方案都没有帮助我.
先感谢您.
注1:我试图回应 …
我试图将PHP变量的值传递给javascript,但我不能让它工作.我做错了吗?下面是我正在使用的代码行.
var dist = parseInt("<?php echo json_encode($distance); ?>");
Run Code Online (Sandbox Code Playgroud) 在撇号内输出 PHP 代码的首选方式是什么?例如,这段 JavaScript 代码会中断,第二行将完全为空:
var jsString = '<div id="content">'+'<?php echo $something['1'] ?>'+'</div>';
Run Code Online (Sandbox Code Playgroud)
谢谢!我知道这是基本的,我知道如何解决它,但我想知道如何以正确的方式做到这一点?
[编辑]
我知道这看起来很明显,但$something["1"]行不通。也同样如此$something[\'1\']。
我有PHP代码,如下所示.
<?php
echo "<SCRIPT LANGUAGE='javascript'>add dd_Employee('".$id1."','".$fname1."',".$sal1.");</SCRIPT>";
echo "<SCRIPT LANGUAGE='javascript'>add dd_Employee('".$id2."','".$fname2."',".$sal2.");</SCRIPT>";
....
?>
...
Run Code Online (Sandbox Code Playgroud)
我的JavaScript代码包含
var details=new Array();
function addEmployee(id,fname,salary){
var temp=new Array(id,fname,salary);
details[details.length]=temp;
alert(temp);
}
function displayEmployee(){
for (var i=0;i<details.length;i++)
var temp_details=details[i];
//Display the id,name,sal
var id=temp_details[0];
var name=temp_details[1];
var sal=temp_details[2];
alert(id);
alert(name);
alert(sal);
}
Run Code Online (Sandbox Code Playgroud)
现在问题是PHP分配的任何内容都只会在中AddEmployee.这意味着它工作正常.但在displayEmployeePHP分配的值内部将无法正常工作.我的逻辑有什么缺陷吗?
我在PHP中获得了一个值,并想在javascript中使用它.
有没有办法这样做?
这是我正在使用的代码不起作用
$var = "abc";
document.getElementById(<?php echo $act;?>).class="active";
Run Code Online (Sandbox Code Playgroud)
我在方法echo $var里面使用getElementById..
这个问题很容易理解和证明.
这段代码工作正常:
<?php
$title = array("dfg","sdfsdg","asfas","Sdfh","Ssdth","Csdgo");
$title_json = json_encode($title);
?>
<script>
var obj = JSON.parse('<?= $title_json; ?>');
console.log(obj);
</script>
Run Code Online (Sandbox Code Playgroud)
此代码不会:
<?php
$title = array("Is President Trump still using his old Android phone?","Trump sets a dizzying WH pace in first days","Trumps White House Charm Offensive a Contrast to Solitary Obama","The inside story of a basketball teen so tall, he doesn't look real","Scientists say they are closer to making Star Wars holograms","Sperm theft lawsuit leaves appeals court weighing how much a life …Run Code Online (Sandbox Code Playgroud)