Script umbauen

tl2011

Mitglied
Hallo,
ich habe auf dieser Seite http://www.9lessons.info/2010/08/tag-friends-with-jquery-ajax-and-php.html ein Script gefunden womit man wie bei Facebook Freunde in einem Beitrag makieren kann. Das funktioniert zwar allerdings wird als Textfeld ein Div verwendet. Ich brauche für meine Zwecke allerdings ein Textfeld (textarea). Da meine Javascriptkenntnisse nicht so gut sind bitte ich um Hilfe. Kann mir jemand vielleicht posten wie ich anfangen kann.
Wäre wirklich sehr nett wenn mir jemand hilft.


Das ist das Script:

Code:
<script type="text/javascript" src="http://ajax.googleapis.com/
ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
var start=/@/ig; // @ Match
var word=/@(\w+)/ig; //@abc Match

$("#contentbox").live("keyup",function()
{
var content=$(this).text(); //Content Box Data
var go= content.match(start); //Content Matching @
var name= content.match(word); //Content Matching @abc
var dataString = 'searchword='+ name;
//If @ available
if(go.length>0)
{
$("#msgbox").slideDown('show');
$("#display").slideUp('show');
$("#msgbox").html("Type the name of someone or something...");
//if @abc avalable
if(name.length>0)
{
$.ajax({
type: "POST",
url: "boxsearch.php", // Database name search
data: dataString,
cache: false,
success: function(data)
{
$("#msgbox").hide();
$("#display").html(data).show();
}
});
}
}
return false();
});

//Adding result name to content box.
$(".addname").live("click",function()
{
var username=$(this).attr('title');
var old=$("#contentbox").html();
var content=old.replace(word," "); //replacing @abc to (" ") space
$("#contentbox").html(content);
var E="<a class='red' contenteditable='false' href='#' >"+username+"</a>";
$("#contentbox").append(E);
$("#display").hide();
$("#msgbox").hide();
});
});
</script>
//HTML Code
<div id="container">
<div id="contentbox" contenteditable="true">
</div>
<div id='display'>
</div>
<div id="msgbox">
</div>
</div>
 
Zeile 44 wird das Div mittels der id angeprochen. Probier doch aus, ob Du im HTML-Bereich einfach nur eine textarea mit jener id "contentbox" hinsetzen musst anstatt des (editierbaren) divs (Zeile 56).

mfg chmee
 
:) Möglicherweise, weil eine textarea keine html-Daten bereitstellt, sondern man den Text per val() auslesen muss.
Code:
// anstatt
var old=$("#contentbox").html();
// vielleicht

var old=$("#contentbox").val();

// ****** Zeile 46 gleichermaßen
Tatsächlich werden dann alle html-bedingten Arbeiten im Javascript unnötig sein. Warum darf es denn nicht einfach eine editierbare Div bleiben?

mfg chmee
 
Zuletzt bearbeitet:
Weil ich ein relativ großes Script habe das zur Textarea gehöhrt. Es handelt sich bei meinem Projekt um ein Soziales Netzwerk und die Textarea gehöhrt zur Pinnwand der User. Deswegen kann ich kein Div verwenden.
LG tl2011^^
 
War abzusehen, denn die nachgeführten Arbeiten in Zeile 47 und 48 bedingen HTML, welches eine textarea nunmal nicht hat. UND : vor Allem kannst Du in einer Textarea keine inline-Änderungen anstellen, wie zB Wort umfärben. Und genau dafür ist Dein Script ja gedacht, oder?

http://forum.de.selfhtml.org/archiv/2004/10/t92877/

Du musst an der textarea auch nicht festhalten, sondern solltest - wie schon im Ausgangscode - auf editierbare div's umstellen. Ist das gleiche in Grün mit ein bissel anderem Code.

mfg chmee
 
Zuletzt bearbeitet:
Nun, dieses Script markiert die Freundesnamen, indem es jene erkannten Freunde mit html-tags besonders darstellt. Da eine textarea solch eine Kennzeichnung nicht kann, ist die Kombination Script und textarea nicht möglich. Was nun?

mfg chmee
 

Neue Beiträge

Zurück