我想在一个javascript函数中传递我的php变量
我知道这似乎很简单,但我不知道我在哪里错过了什么?
<?php
while($gg=mysql_fetch_array($lg))
{
?>
<td id="add_td">
<?php
$id = $gg['p_id'];
echo "<a onclick=cnf('Are you sure you want to delete that?',$id)>"; ?>Delete</a>
</td>
<?php
}
?>
和我的javascript函数
function cnf(msg,id)
{
cnf = confirm(msg);
if(cnf) {
parent.location.href = 'p_update.php?d=' + id;
}
}
所以我需要知道用户点击了哪个ID,这样我才会从数据库中删除该ID
如果我尝试这个东西然后它在“cnf”函数上显示错误,它的说法像“未终止的字符串文字”?
答案 0 :(得分:2)
if $id is not numeric you should write
<?php
while($gg=mysql_fetch_array($lg))
{
?>
<td id="add_td">
<?php
$id = $gg['p_id'];
echo "<a onclick=cnf('Are you sure you want to delete that?','".$id."')>"; ?>Delete</a>
</td>
<?php
}
?>
答案 1 :(得分:1)
检查语法
<?php
while($gg=mysql_fetch_array($lg))
{
?>
<td id="add_td">
<?php
$id = $gg['p_id'];
?>
<a onclick="cnf('Are you sure you want to delete that?',<?=$id?>);">Delete</a>
</td>
<?php
}
?>
答案 2 :(得分:1)
我会这样做。如果你想要“手”指针,HREF是必需的 标签上也必须使用唯一ID,如果您在功能中传递ID而不是我建议的内容,则需要引用ID,并为链接指定ID
function cnf(link,id) {
if (confirm("Are you sure you want to delete "+id) {
link.href = "p_update.php?d=" + id;
return true;
}
return false;
}
<?php
while($gg=mysql_fetch_array($lg)) {
$id = $gg['p_id'];
?>
<td id="add_td<?php echo $id; ?>"><a target="_parent" href="#" id="<?php echo $id; ?>" onclick="return cnf(this)">Delete</a></td>
<?php } ?>
答案 3 :(得分:1)
foreach($mas as $k=>$v) {
//echo $k.' = '.$v.'<br>';
echo("
<input type=\"button\" id=\"delete_id".$k."\" value=\"Blablabla\" onclick=\"alert('".$v."');\"/>
");
}
如果我放在那里$ k(索引)它可以工作,但如果字符串(值是字符串),我得到一个错误
未终止的字符串文字
在HTML标签中,这可以工作,但不能作为函数参数!
答案 4 :(得分:1)
在php变量'$ id'周围使用引号。
echo "<a onclick=cnf('Are you sure you want to delete that?','$id')>";
另一个例子,
$p
是一些php变量,
echo "<input type=button value='update' onclick=myfunc('$p')>"
答案 5 :(得分:0)
如果$ id是一个字符串文字,当你把它作为参数传递给&lt; a ...&gt;中的cnf()函数时,你应该把它放到引号中。标记:
echo "<a onclick=cnf('Are you sure you want to delete that?', '$id')>";