JavaScript不工作的句子

时间:2013-01-11 06:41:41

标签: php javascript

我有一个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);
?>

谁能告诉我这里有什么问题?

4 个答案:

答案 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>";