[]
Facebook isim tagleme gibi bir şey
Şimdi, sorunum var. Acemiyim bu konularda, ama çalışıyorum. İnternette bir dersten yardım alarak buldum bunu nasıl yapacağımı. Ki yaptım da. Ancak textarea'ya uygulayamıyorum dolayısıyla form gönderme işlemi de yapamıyorum .
(bu bahsettiğim tagleme, "alo @niyazi niye cevap vermiyorsun olm şeklinde olan tagleme.) Kodları da paylaşıp, nasıl çare bulabilirim diye sormak istiyorum. (Kodda da bazı problemler var aslında, @'leme yaptıktan sonra satır başına atıyor imleci vs.)
dosya1: index.php (dosyanın içindeki javascript bölümüne yazdım haliyle bu kodu.
---------------------------------------------------------------------
$(document).ready(function(){
/*ÜSTÜNE TIKLAYINCA SİLME*/
$("#yaziekrani").click(function(){
if($(this).html()=="Takım ya da Lig İsmi Yazın"){
$(this).empty();
}
});
/*ÜSTÜNE TIKLAYINCA SİLME*/
/*@'LE ARAMA*/
var kelime = /@(\w+)/ig;
$("#yaziekrani").live("keyup",function(){
var icerik = $(this).html();
var isim = icerik.match(kelime);
var deger = "isim="+isim;
if(isim.length > 0){
$.ajax({
type: "POST",
url: "kontrolet.php",
data: deger,
success: function(e){
if (e == "yok"){
$("#sonuc").fadeOut();
}else {
$("#sonuc").html(e).fadeIn();
}
}
});
}
});
$(".ekle").live("click", function(){
var takimlar = $(this).attr("title");
var icerik = $("#yaziekrani").html();
var a = '<a href="#" contenteditable="false" class="takim">'+takimlar+'</a>';
var deger = icerik.replace(kelime,a);
$("#yaziekrani").html(deger);
$("#sonuc").fadeOut();
});
/*@'LE ARAMA*/
});
-------------------------------------------------------------------
kodun çalışmasını sağlayan kontrolet.php:
--------------------------------------------------------------------
<?php
$con = mysql_connect("localhost","root",);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydb", $con);
mysql_query("SET CHARACTER SET Latin5");
header("content-type: text/html; charset=iso-8859-9");
$deger = iconv("UTF-8", "ISO-8859-9", $_POST["isim"]);
$deger = explode("@",$deger);
$kBul = mysql_query("select * from takimlar where takimlar like '$deger[1]%' order by takimlar limit 5");
$kSay = mysql_num_rows($kBul);
if ($kSay > 0){
echo '<ul id="liste">';
while ($kGoster = mysql_fetch_array($kBul)){
echo '<li><a href="javascript:;" title="'.$kGoster["takimlar"].'" class="ekle">'.$kGoster["takimlar"].'</a></li>';
}echo '</ul>';
}else{
echo "yok";
}
?>
--------------------------------------------------------------------
Sorun dediğim gibi, textarea ile kullanmak istiyorum. Ya da form göndermeyi textarea dışında ne ile yapabilirim yardım lazım. Bir de bu kodu daha farklı şekilde yazabilirsem de çok iyi olur.
Biraz yardım ederseniz şahane olur
(bu bahsettiğim tagleme, "alo @niyazi niye cevap vermiyorsun olm şeklinde olan tagleme.) Kodları da paylaşıp, nasıl çare bulabilirim diye sormak istiyorum. (Kodda da bazı problemler var aslında, @'leme yaptıktan sonra satır başına atıyor imleci vs.)
dosya1: index.php (dosyanın içindeki javascript bölümüne yazdım haliyle bu kodu.
---------------------------------------------------------------------
$(document).ready(function(){
/*ÜSTÜNE TIKLAYINCA SİLME*/
$("#yaziekrani").click(function(){
if($(this).html()=="Takım ya da Lig İsmi Yazın"){
$(this).empty();
}
});
/*ÜSTÜNE TIKLAYINCA SİLME*/
/*@'LE ARAMA*/
var kelime = /@(\w+)/ig;
$("#yaziekrani").live("keyup",function(){
var icerik = $(this).html();
var isim = icerik.match(kelime);
var deger = "isim="+isim;
if(isim.length > 0){
$.ajax({
type: "POST",
url: "kontrolet.php",
data: deger,
success: function(e){
if (e == "yok"){
$("#sonuc").fadeOut();
}else {
$("#sonuc").html(e).fadeIn();
}
}
});
}
});
$(".ekle").live("click", function(){
var takimlar = $(this).attr("title");
var icerik = $("#yaziekrani").html();
var a = '<a href="#" contenteditable="false" class="takim">'+takimlar+'</a>';
var deger = icerik.replace(kelime,a);
$("#yaziekrani").html(deger);
$("#sonuc").fadeOut();
});
/*@'LE ARAMA*/
});
-------------------------------------------------------------------
kodun çalışmasını sağlayan kontrolet.php:
--------------------------------------------------------------------
<?php
$con = mysql_connect("localhost","root",);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydb", $con);
mysql_query("SET CHARACTER SET Latin5");
header("content-type: text/html; charset=iso-8859-9");
$deger = iconv("UTF-8", "ISO-8859-9", $_POST["isim"]);
$deger = explode("@",$deger);
$kBul = mysql_query("select * from takimlar where takimlar like '$deger[1]%' order by takimlar limit 5");
$kSay = mysql_num_rows($kBul);
if ($kSay > 0){
echo '<ul id="liste">';
while ($kGoster = mysql_fetch_array($kBul)){
echo '<li><a href="javascript:;" title="'.$kGoster["takimlar"].'" class="ekle">'.$kGoster["takimlar"].'</a></li>';
}echo '</ul>';
}else{
echo "yok";
}
?>
--------------------------------------------------------------------
Sorun dediğim gibi, textarea ile kullanmak istiyorum. Ya da form göndermeyi textarea dışında ne ile yapabilirim yardım lazım. Bir de bu kodu daha farklı şekilde yazabilirsem de çok iyi olur.
Biraz yardım ederseniz şahane olur
ya soruyu kısaca sorayım şurda: textarea olmadan sadece div tagleri arasında yazdıklarımı nasıl post ettiririm?
- calimdor (21.01.12 22:08:26)
1