我有一个php程序,它可以提醒所点击的链接。例如我有一个链接hello
,当我点击该链接时,javascript应该提醒hello
。没有空格它可以正常工作,但是当我有hello world
之类的链接时,它不会提醒任何内容。这些单词是从数据库中提取的。
我的代码如下:
function gmail(val)
{
alert(val);
}
对于php
<?php
$name="raj"; //this is just a dummy value
$include "database_connectivity.php";
$conn=odbc_connect($dsn,$database_username,$database_password);
if(!$conn)
{
die('Could not connect to database.'.odbc_error());
}
$select="SELECT WHERE_TO_CHANGE FROM REQUEST_SEND_TABLE WHERE SENT_FROM ='$name'";
$exe=odbc_exec($conn, $select);
if(!$exe)
{
die("Could not execute query".odbc_error());
}
while($row_user=odbc_fetch_array($exe))
{
$show=$row_user['WHERE_TO_CHANGE'];
echo "<input type='hidden' id='".$show."' value='".$show."'>";
echo "<a href='#' id='check' onClick='gmail(".$show.".value)' >".$show." </a>";
echo"<br>";
}
odbc_close($conn);
?>
谁能告诉我这里有什么问题?
答案 0 :(得分:2)
while($row_user=odbc_fetch_array($exe))
{
$show=$row_user['WHERE_TO_CHANGE'];
$show_nospace = str_replace(' ', '_', $show);
echo "<input type='hidden' id='".$show_nospace."' value='".$show."'>";
echo "<a href='#' id='check' onClick='gmail(".$show_nospace.".value)' >".$show." </a>";
echo"<br>";
}
如果$show
可以包含ID中不允许的其他字符,则还需要替换它们。在value
属性中使用它时,您还需要转义任何引号。
答案 1 :(得分:1)
在您的onclick事件中,将其更改为:
gmail(document.getElementById($show).value)
在你的函数中执行此操作可能会更好,只需传入id:
gmail($show)
这样你就可以在尝试调用.value之前先检查元素是否存在。
答案 2 :(得分:1)
有空格时使用引号
的onClick = “Gmail的( '” $ show_nospace “值。');”
查看单引号('test test')
答案 3 :(得分:1)
试试这个:
echo "<input type='hidden' id='".$show."' value='".$show."'>";
echo "<a href='#' id='check' onClick='gmail(".$show.")' >".$show."</a>";
而不是:
echo "<input type='hidden' id='".$show."' value='".$show."'>";
echo "<a href='#' id='check' onClick='gmail(".$show.".value)' >".$show."</a>";