2013-07-21 47 views
-1

我想在php语句中回显一些javascript和jquery ajax代码,并从jquery ajax发送一个mysql查询。我在Facebook上动态输入用户名和发送好友请求按钮,就像在Facebook上一样。在php echo语句中使用jQuery Ajax

下面给出了一小部分代码,我不明白为什么它不起作用。 request.php文件中没有任何语句被执行,数据库中也没有任何变化。

echo '<input type = "button" id = "' . $data['user_id'] . '" value = "Send Friend 
Request" onClick = "send_request(this.id);"/>' ; 

上面的html或连接都没有问题。这是绝对好的。我正在使用它的功能。只是ajax部分不工作。 这里是php代码。 request.php包含连接完成后对数据库的查询。

echo "<script type = 'text/javascript'>" ; 
echo "function send_request(_id) 
val = document.getElementById(_id).value ; 
if (val == 'Send Friend Request') 
    val = 'Cancel Friend Request' ; 
else 
val = 'Send Friend Request' ; 
document.getElementById(_id).value = val ; 

$.ajax 
(
{ 
type: 'post', 
url: 'request.php', 
data: {id: _id} 
} 
) ; 
}" ; 
echo "</script>" ; 

request.php

$id = $_POST['id'] ; 
$userid = $_SESSION['userid'] ; 
$query = "INSERT INTO friend (friend_id, user_id) VALUES ('$id', '$userid')" ; 
$result = mysql_query($query) 
+1

为什么你把所有的JS标签放在php标签中?为什么它不在它自己的JS文件中? – bzupnick

+0

因为我动态地输出html。您会注意到输入标签也被回显。 – Sasha

+1

你的连接似乎在这里被打破了'id =“'。{$ data ['user_id']}''”' –

回答

0

最好的答案将是把它放在它自己的JS文件,并动态地调用它该按钮的点击。

+0

我希望我能。但是按钮必须在if条件下生成,否则不会。 – Sasha

+0

您可以使用if语句生成的按钮,但单击按钮时运行的JavaScript始终可以坐在那里。 – bzupnick

+0

由于按钮被回显,它无法在.js文件中调用JavaScript。 – Sasha

0

您在函数定义行的后面添加了动态JavaScript。

+0

我似乎无法找到它。有3个和3个。 – Sasha

+0

在上面代码块中的这一行后面: echo“function send_request(_id) 它可能是它没有显示在代码块中 您是否尝试过在Firefox中运行代码并使用Firebug进行调试。是我通常用我的代码做的,看看是否有任何Javascript不能正常工作。 –