从单击获取用户名以插入数据库

时间:2014-09-28 14:02:26

标签: php jquery ajax

我正在建立一个@mention脚本,而我却陷入了一个小问题。

因此,每个用户选择一个用户然后点击该用户,它会将用户名附加到newmsg div中,然后您也可以写一些文本,就像您在twitter或facebook上找到的状态一样。像这样。我现在也在使用旧的jquery' live'但也会很快改变。

$(".addname").live("click",function() 
{
var username=$(this).attr('title');
var old=$("#newmsg").html();
var contents=old.replace(word,""); 
$("#newmsg").html(contents);
var E="<a class='red' contenteditable='false' href='/profile.php?username="+username+"'>"+username+"</a>";
$("#newmsg").append(E);
$("#display").hide();
$("#newmsg").focus();

我想以某种方式获得该用户名,以便能够将其添加到我的插入内容,以便在插入ajax帖子时将其保留为链接。

$(document).ready(function(){
$("form#myforms").submit(function(event) {
                event.preventDefault();
                var content = $(this).children("#toid").val();
                var newmsg= $(this).children('#newmsg').text();
                var USERNAME HERE= ??;
                var privacy = $("#privacy").val();
                $.ajax({
                type: "POST",
                url: "insert.php",
                cache: false,
                dataType: "json",
                data: { toid: content, newmsg: newmsg, privacy: privacy, USERNAME HERE }, 

以下是我在insert.php中使用的链接,用于将@username转换为链接。请注意下面我的$ _POSTvariables没有被清理,并且容易受到SQL注入攻击。但这将得到纠正。

$_POST['newmsg']=str_replace('@','<a href="profile.php?username='.$_POST['username'].'">'.$_POST['username'].'</a>',$_POST['newmsg']);

我尝试使用

var username = $(this).children(".addname").val();

但它表示未定义。

当用户检查可用用户并点击它们进行选择时,这是html。

<div class="display_box "align="left">
<? echo "<img class='image' style='border:none;padding:0px;display:inline;' border=\"0\" src=\"userimages/cropped".$id.".jpg\" onerror='this.src=\"userimages/no_profile_img.jpeg\"' width=\"40\" height=\"40\" >"; ?>
<a href="#" class='addname' title='<?php echo $username; ?>'><?php echo $fname." ".$lname; ?></a>
</div>
</br>

1 个答案:

答案 0 :(得分:1)

其链接(a href),请使用

var username = $(".addname").attr("href");

而不是

var username = $(this).children(".addname").val();