Doğru Cevap
-
belli bir html tag arasında ki metin mi yoksa textarea içinde mi kodundan örnek gösterirsen fikir yürütebilirim.
-
cool_eagle
farketmez textarea veye herhangi bir tag içinde olabilir12 yıl önce yazılmış -
mcicek
şöyle birşey bulup sana uyarladım fakat bir türlü document.ready de çalıştıramadım inceler belki ilerletebilirsin.
function bold(){ var aralik = window.getSelection().getRangeAt(0); var txt = aralik.extractContents(); var div = document.createElement("b"); div.appendChild(txt); aralik.insertNode(div); }
12 yıl önce yazılmış -
cool_eagle
teşekkürler çalıştı. ama textarea içinde çalışmadı ona uğraşırım artk kendim. teşekkürler12 yıl önce yazılmış
-
Cevaplar
-
Değiştirilebilir kısımları text veya textarea türünde input alanı olarak verirsen seçilen bölümü değiştirdikten sonra o input'un taşıdığı değeri değiştirerek istediğiniz elde edebilirsin.
Ya da bir döngü ile seçilen metnin hangi üst öğenin bir parçası olduğunu bulup onun innerHTML'ini değiştirmen gerekir.
Birincisi daha iyi bir çözüm. Input alanlarını kullanıcının doğrudan değiştirememesi için o alanları "disabled" atarsın. Alanın sayfa metninden farklı görünmemesi için de sayfada kullandığın renklendirmeleri kullanıp CSS tarafında border atamasını 0px yaparsın.-
cool_eagle
diyelim ki "asdasdasdadadsadasdasdaad uzmansorusu.com" yazılı textarea içinde. ben uzman kısmını kalın yapmak istiyorum. sadece uzman kısmını nasıl b tagı içine alacağım12 yıl önce yazılmış -
necmettin
var eleman = document.getElementById('inputadi'); eleman.innerHTML = eleman.innerHTML.replace(/boldyapılacakmetin/, "<b>boldyapılacakmetin</b>");
örneğinde olduğu gibi12 yıl önce yazılmış -
cool_eagle
peki metinde seçtiğim kelimeden birden fazla varsa replace ile hepsi kalın olacak bu sefer12 yıl önce yazılmış -
necmettin
o zaman replace yerine önce indexOf ile aradığın stringin başladığı yeri bulup o şekilde yapılabilir.12 yıl önce yazılmış
-