2013-01-11 41 views
0

我有一個PHP程序,它是假設提醒鏈接點擊。例如我有一個鏈接hello,當我點擊該鏈接JavaScript應該提醒hello。它工作正常,沒有空格,但是當我有像hello world這樣的鏈接時,它不會提醒任何人。這些單詞是從數據庫中提取的。JavaScript不工作句子

我的代碼如下

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

嘗試沒有數據庫連接調試此。哎呀,即使沒有PHP,也只是純粹的HTML和Javascipt。 – kmkaplan

+0

爲什麼'odbc_ *'函數? –

+0

你爲什麼要顯示HTML代碼的PHP代碼?顯示生成的HTML。 – eis

回答

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屬性中使用它時,您還需要轉義任何引號。

+0

非常感謝。它的工作完美。 – freaky

1
在你的onclick事件

,改成這樣:

gmail(document.getElementById($show).value) 

可能會更好做,在你的函數,雖然,只是通過在ID:

gmail($show) 

這樣你可以在嘗試調用.value之前先檢查元素的存在。

+0

它仍然不能用於空格@barmar表示空格是問題 – freaky

1

使用引號時曾經有一個空格

的onClick = 「的Gmail( '」 $ show_nospace。 「的價值。');」

看到單引號( '試驗測試')

+0

字符串沒有'value'屬性。 – Barmar

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