onclick变量没有传递到表格
我是Javascript的新手,从我读过的书中我假设有一种更好的方法来处理我的方法,但是它在这里。onclick变量没有传递到表格
我有一个onclick的表单,当在表格单元格中点击一个清晰的图像时,单元格的背景图片会发生变化(显示它已被选中,或者如果再次单击,则取消选中)。这一切都有效,现在我想定义一些变量,以便当按下表单的Submit按钮时,会传递一个表单变量,显示用户是否选择了该选项。
功能的JavaScript我发现在互联网上:
var curPic1 = 0;
window.onload=function() {
document.getElementById('clear-kayangan').onclick=function() {
curPic1 = (curPic1 == 0)? 1 : 0;
document.getElementById('td_kayangan').style.backgroundImage = (curPic1 == 1)? 'url("pics/map-kayangan-lake-selected.png")' : 'url("pics/map-kayangan-lake.png")';
}
}
我的计划是写一个IF语句,如果curPic1 == 1
(背景图像选择显示用户已选择)指出,我想创建一个全局变量我可以再传给形式到PHP:
$spot1 = "<script>document.write(spot1);</script>";
if ($spot1 == 1) echo "<input name='spot1' type='hidden' value='1' />";
出于测试目的,我想:
$spot1=$_POST['spot1'];
if ($spot1=="1") echo "<b>This really works</b><br>";
和它的作品,如果我使用如果$spot1==0
,因此在我的javascript函数的顶部我试过如下:
int spot1;
spot1=0;
var spot1=0;
以及JavaScript函数本身我试过内:
int spot1 = 1;
spot1 = 1;
window.spot1 = 1;
我的天堂还没有尝试过IF语句,因为我只是试图测试它们是否有效。我读到我应该能够从函数内部建立一个全局变量。我一次添加了上面的各种选项。它适用于spot=0
,所以我假设问题是它没有被设置为函数内的全局变量?或者也许有更好的方法来解决这一切?
On提交隐藏的表单变量将最终传递到另一个页面,并在那里使用。
为@桑托斯,张以芳说,你应该添加一个ID,隐藏的输入和改变同click处理程序,你已经拥有的价值,如:
<?php
$spot1 = $_POST['spot1']=='1' ? 1 : 0;
?>
<input name="spot1" id="spot1" type="hidden" value="<?=$spot1?>">
,然后在你的JS:
var curPic1 = 0;
window.onload = function() {
document.getElementById('clear-kayangan').onclick = function() {
curPic1 = (curPic1 == 0) ? 1 : 0;
document.getElementById('td_kayangan').style.backgroundImage = curPic1 ? 'url("pics/map-kayangan-lake-selected.png")' : 'url("pics/map-kayangan-lake.png")';
document.getElementById('spot1').value = curPic1;
}
}
谢谢,解释一下吧!一直在阅读一些教程,并没有相当多的JavaScript我的头,但非常感谢! – karel
JavaScript和'int'? – epascarello
也包含HTML标记 –
在Javascript中,没有“int”类型。你可以使用parseInt()来搜索一个字符串并返回一个整数。 – Alec