2012-09-23 4 views
3

아약스를 탐험하기 시작했습니다. 어쨌든 저는 너무 열심히 노력하지 않고 쉽게 정상이 아닙니다. 어쨌든 나는이 프로젝트에 어려움을 겪고있다. 그것은 ajax, php, js, mysql을 포함합니다. Facebook의 태그 스타일을 실제로 복사하려고합니다. 게시물에서 누군가를 태그하면 전체 이름이 태그 사용자 프로필로 연결되는 하이퍼 링크로 바뀝니다. 단지 사소한 문제 일뿐입니다. JS에 익숙하지 않은 것 같습니다. 나머지 부분은 이미 끝 냈지만 텍스트를 js와 하이퍼 링크로 바꾸는 데 문제가 있습니다. putin_livesearch() 코드에서 원한다.자바에서 하이퍼 링크로 텍스트를 변환하는 자바

이것은 내 코드입니다. 그냥이

echo "<a href='your-url-for-the-user'><span class ="namesearch" onclick="putin_livesearch(\''.$fname.'\',\''.$lname.'\' )"> '. $fname ." ". $lname .' </span></a><br />"; 

뭔가를 할

index.html을

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>FB TAG</title> 

<style> 

.namesearch { 
    cursor:pointer; 

} 


</style> 

<script type="text/javascript"> 


function putin_livesearch(fname, lname) 
{ 

//document.getElementById('searchbar').value = (fname + " " +lname); 

//document.location.href='#'+ window.document.getElementById('searchbar').value = (fname); 

window.document.location.href="#"+window.document.getElementById('searchbar').value; 

} 



function showResult(str) 
{ 
if (str.length==0) 
    { 
    document.getElementById("livesearch").innerHTML=""; 
    document.getElementById("livesearch").style.border="0px"; 
    return; 
    } 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("livesearch").innerHTML=xmlhttp.responseText; 
    document.getElementById("livesearch").style.border="1px solid #A5ACB2"; 


    } 
    } 
xmlhttp.open("GET","getuser.php?q="+str,true); 
xmlhttp.send(); 
} 
</script> 
</head> 

<body> 
<form> 
    <input id ="searchbar" name="wallpost" type="text" onkeyup="showResult(this.value)" /> 
    <div id="livesearch"></div> 
</form> 
</body> 
</html> 

getuser.php 당신의 PHP에

<?php 
$q=$_GET["q"]; 

$con = mysql_connect('localhost', 'root', ''); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("place_main", $con); 

$sql=" SELECT * FROM profiles WHERE firstname like '".$q."%' "; 

$result = mysql_query($sql); 



while($row = mysql_fetch_array($result)) 
    { 
    $fname = $row['firstname']; 
    $lname = $row['lastname']; 


    echo '<span class ="namesearch" onclick="putin_livesearch(\''.$fname.'\',\''.$lname.'\' )"> '. $fname ." ". $lname .' </span><br />'; 


    //echo "<span class ='namesearch' onclick='putin_livesearch(" .$fname. ", " .$lname. ")'> " . $fname . " " . $lname . "</span><br />"; 
    } 


mysql_close($con); 
?> 

답변

0

좋아, 내가하려는 일은 불가능합니다. 테스트를 위해 실제로 태그가있는 텍스트 영역에 값을 추가하려고 시도했습니다. 링크로 전환하지 않습니다. wallpost에서 친구를 태그로 연결하는 동안 링크에 붙여 넣지 않았지만 나중에 게시 할 때 fb에서 실제로 검사를 수행 했습니까?

0

, 그냥 PHP에서 그것을 조작 그럼 나는 꽤 확신한다. 그것은 프론트 엔드에서 같은 결과를 출력합니다.

+0

나는 실제로 그것을 실제로 시도했다. 그 문제는 내가 사람 이름을 검색 할 때이다. 결과를 하이퍼 링크로 표시합니다. 문제는 클릭하면 새로운 페이지로 리디렉션됩니다. 그건 내가 원하는 것이 아니야. 사실 하이퍼 링크가있는 텍스트 상자에 표시되기를 원합니다. – electricfeel1979

관련 문제