2014-09-28 38 views
-1

我建立一个@mention剧本,我被困在一个小问题。从点击获取用户名插入到数据库

所以每个用户选择,然后用户点击该用户,并将其添加的用户名进入newmsg格,然后你也可以写一些文字,就像一个状态,你会发现在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> 
+0

提供所请求提供选择的用户链路的HTML先生 – 2014-09-28 14:06:49

+0

@jQueryAngryBird HTML。 – dave 2014-09-28 14:09:43

+0

.addname css ??? – 2014-09-28 14:10:33

回答

1

其链路(a href),所以使用的

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

代替

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

太棒了,正是我所需要的。谢谢。 – dave 2014-09-28 14:41:55

+1

@dave,欢迎花花公子。 – 2014-09-28 18:21:32