我建立一个@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>
提供所请求提供选择的用户链路的HTML先生 – 2014-09-28 14:06:49
@jQueryAngryBird HTML。 – dave 2014-09-28 14:09:43
.addname css ??? – 2014-09-28 14:10:33