الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]خمس ازرار بس ناقصهم كود واحد

مغلق
بدأه MiNi.SpIdEr في 21 يناير 2008 · 13 رد · 2,226 مشاهدة · في قسم البرمجة بــ Javascript
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي الب محرر اخاص بموقعي ومت بأضافه 5 ازرار له لتعريض والميلان والتسطير والاقتباس

وهذا جزء من الكود المشكله هي اني لا اعرف ما الامر الذ اضعه بالكود ليقوم بارساله للمحرر كما

في اي محرر مع العلم ان كل الاضافات معرفه وتبقى فقط الازرار

هذا جزء من الكود الخمس ازرار والمحرر

<table border="1" cellspacing="0" cellpadding="0" bordercolor="#333333" bgcolor="#808080" width="454">
	 <tr>
	   <td width="450" bordercolor="#333333" align="center">

		 <a class="imagebutton" id="cmd_bold"><img border="0" src="/bold.gif" alt="عريض" width="21" height="20"></a> 
		 <a class="imagebutton" id="cmd_italic"><img border="0" src="/italic.gif" alt="مائل" width="21" height="20"></a> 
		 <a class="imagebutton" id="cmd_underline"><img border="0" src="/underline.gif" alt="مسطر" width="21" height="20"></a> 
		 <a class="imagebutton" id="cmd_createlink"><img border="0" src="/createlink.gif" alt="ارتباط" width="21" height="20"></a> 
		 <a class="imagebutton" id="cmd_quote"><img border="0" src="/quote.gif" alt="اقتباس" width="21" height="20"></td>
	 </tr>
	 <tr>
	   <td>
	   <p dir="rtl">
	   <textarea cols="53" rows="7" id=commentsbox name="comments" onkeyup="ReloadTextDiv()" style="border-style: double; border-width: 3px" dir="rtl"></textarea><br />
	   <font face="Tahoma" size="2">
	   <input type="submit" name="submit" value="اضافه رد" style="font-family: Tahoma"></font>
	   </td>
	 </tr>
   </table>

[link][/link]

انا الان اذا قمت بالرد في الموقع واسعملت هذه الرموز تعمل وهي مضافه وكل شي تمام فقط اود اضافتها للمحرر للترتيب وتسهيل العمل

ارجو المساعد

تم تعديل هذه المشاركة بواسطة Junkie في 21 يناير 2008 في 22:32

[moveleft]

MiN! SpId3r SqUaD

[/moveleft]

#2

اخي الكريم يرجى الا تقوم باضافة اي تنسيقات على الموضوع الذي تريد طرحه دون معاينتها قبل الطرح, معظم مواضيعك الى الان تحوي على تنسيقات غير واضحة, النص في منتصف الصفحة مزعج للقراءة, الشفرات يجب ان توضع ضمن تنسيق CODE وليس اقتباس!

قمت بتعديل الموضوع مرة أخرى.

بخصوص سؤالك انظر المثال التالي وقم بالاستفادة منه...

<html>
<head>
<script>
function test()
{
var x = document.getElementsByTagName('TEXTAREA')[0];
x.innerHTML = x.innerHTML + " and this text appends";
}
</script>
</head>

<body>
<textarea cols=100 rows=10>this is a test</textarea>
<form>
<input type='button' name='click' value='append' onclick='test()'>
</form>
</body>
</html>

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

لكن كده هنعمل Append بآخر النص اللى فى الـ text area و حاليا بالأصدارات الحديثة بالمنتديات يتم ذلك عن طريق الأضافة قبل و بعد النص المحدد فقط.

#4

في البدايه انا اسف جدا لم اكن اعرف انه مزعج :lol:

وشكرا جزيل الشكل على الكود واذا امكن كيف يمكن جعل الكود يضاف حول (قبل وبعد) النص المحدد (المظلل داخل المحرر) كما في محرر المنتدى مثلا

انا حاولت لكن لم استطيع وهذا الكود بعد تعديلي حيث اصبح يضيف الكود لكل النص المكتوب بالمحرر او التكست ايريا

اظن ان تعديله سهل لكني لم استطيع :D

مكن تعديله

<html>
<head>
<script>
function test()
{
var x = document.getElementsByTagName('TEXTAREA')[0];
x.innerHTML = x.innerHTML = "" + x.innerHTML + "";
}
</script>

</head>

<body>
<textarea cols=50 rows=10></textarea>
<form>
<input type='button' name='click' value='append' onclick='test()'>
</form>
</body>
</html>

وشكرا مره اخرى

شكرا اخ msayed2004

اضن ان التعديل يكون بتعريف x على انها ما محدد بدل انها text area والله اعلم

تم تعديل هذه المشاركة بواسطة mini.spider في 22 يناير 2008 في 03:13

[moveleft]

MiN! SpId3r SqUaD

[/moveleft]

#5

لو تنظر في شفرة صفحات المنتدى لربما تجد الاجابة.. على كل حال انا احاول تعديل الكود بما لدي من الوقت الآن

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#6
<html>
<head>
<script>
function MakeBold(r){r.text = ""+r.text+"";}
function MakeItalic(r){r.text = ""+r.text+"";}
</script>
</head>

<body>
<textarea cols=100 rows=10 onbeforedeactivate="window.txtRange = document.selection.createRange

();">this is a test</textarea>
<form>
<input type='button' value='MakeBold' onclick='MakeBold(window.txtRange)'>
<input type='button' value='MakeItalic' onclick='MakeItalic(window.txtRange)'>
</form>
</body>
</html>

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#7

شكرا لك لقد اتعبت لكن هناك مشكلتين

الاولى : الكود لا يعمل بغير الـ Internet Explorer

جربته بالاوبرا والفاير فوكس لا يعمل

والثانيه : اذا لم اقوم بالغط داخل التكست ايريا قل الضغط على الزر سيتكون خطاء :(

هل من الممكن جعل الامر يرسل بالجافا الى التكست اريا بحيث يحدد

id=commentsbox name="comments"

انا حاولت تحويل الكود الى جافا ولكن لم يعمل على فايرفوكس :(

هل هنالك حل ؟؟؟ شكرا لك مره اخرى والله يوفقك دائما

[moveleft]

MiN! SpId3r SqUaD

[/moveleft]

#8

واخيرا وجدت الحل بعد عذاب طويل مع هذا الكود لكن لا بأس فالتجربه احسن طريقه للتعلم

وهذا الكود لعله يفيدك ويفيد غيري

<script type="text/javascript">
function insertext(open, close, spot){
	msgfield = document.forms['comment'].elements['comments'];

	// IE support
	if (document.selection && document.selection.createRange){
		msgfield.focus();
		sel = document.selection.createRange();
		sel.text = open + sel.text + close;
		msgfield.focus();
	}

	// Moz support
	else if (msgfield.selectionStart || msgfield.selectionStart == '0'){
		var startPos = msgfield.selectionStart;
		var endPos = msgfield.selectionEnd;

		msgfield.value = msgfield.value.substring(0, startPos) + open + msgfield.value.substring(startPos, endPos) + close + msgfield.value.substring(endPos, msgfield.value.length);
		msgfield.selectionStart = msgfield.selectionEnd = endPos + open.length + close.length;
		msgfield.focus();
	}

	// Fallback support for other browsers
	else {
		msgfield.value += open + close;
		msgfield.focus();
	}

	return;
}
</script>
<form name="form" method="post" id="comment" action=""></div>
<textarea id="comments" cols="50" rows="8" name="comments" tabindex="3"></textarea><br />

<p><noindex>
<nobr><a href="java script:insertext('', '', 'short')"><b>Bold</b></a></nobr>
<nobr><a href="java script:insertext('', '', 'short')"><i>Italic</i></a></nobr>
<nobr><a href="java script:insertext('', '', 'short')"><u>Underline</u></a></nobr>
<nobr><a href="java script:insertext('[del]', '[/del]', 'short')"><del>Linethrough</del></a></nobr>
<nobr><a href="java script:insertext('[q]', '[/q]', 'short')"><q>Quote</q></a></nobr>
</noindex></p>

الان اذهب لحل الكود الثاني اذا لم استطع لدي عوده واتمنى مساعدتك

شكرااااااا

[moveleft]

MiN! SpId3r SqUaD

[/moveleft]

#9

هذا ما كنت اريد كتابته لك, تقريبا ليس بالضرورة نفس الصيغة وهو موجود على الكثير من مواقع الويب, المشكلة في اختلاف الـ DOM objects او معالجتها بين IE / FF / Opera ... كل يغني على ليلاه :P

انظر هذا الموضوع:

http://codingforums.com/archive/index.php?t-90540.html

ستجد (وربما وجدت سلفا) ما يفيدك.

بالتوفيق

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#10

شكرا لك كود رائع وقد جعلني اطول الكود لدي لكن اتمنى ات تخبرني عن الزوائد الموجوده في الكود

فقد قمت بدمج الكودين وهيه تعمل الان

دمجتها لاخذ طريقه عند الضغط على كلمه رابط تضهر نافذه تكتب بيها الرابط لكن لا اظن اني حذفت كل ما هو زائد من

الكود الذي اخذته من الرابط الذي اعطيتنياه فاتمنا منك تعديله او اجراء ما يلزم له

وهذا هوه الكود

<div align="center">
<table cellpadding="0" cellspacing="0" width="413" height="202"><tr>
<td width="413" height="202">
<a dir="rtl">

<script type="text/javascript">
function insertext0(open, close, spot){
	msgfield = document.forms['comment'].elements['comments'];

	// IE support
	if (document.selection && document.selection.createRange){
		msgfield.focus();
		sel = document.selection.createRange();
		sel.text = open + sel.text + close;
		msgfield.focus();
	}

	// Moz support
	else if (msgfield.selectionStart || msgfield.selectionStart == '0'){
		var startPos = msgfield.selectionStart;
		var endPos = msgfield.selectionEnd;

		msgfield.value = msgfield.value.substring(0, startPos) + open + msgfield.value.substring(startPos, endPos) + close + msgfield.value.substring(endPos, msgfield.value.length);
		msgfield.selectionStart = msgfield.selectionEnd = endPos + open.length + close.length;
		msgfield.focus();
	}

	// Fallback support for other browsers
	else {
		msgfield.value += open + close;
		msgfield.focus();
	}

	return;
}
</script>

<script type='text/javascript'>
<!--

function ubbc(open, end)
{
if (open == "")
{
var txt = prompt("Enter URL for the link.","http://");

if (txt)
{
open = '[link]'+txt+'[/link]';
}
else
{
return false;
}
}


var tArea = document.form.comments;
var isIE = (document.all)? true : false;
var open = (open)? open : "";
var end = (end)? end : "";

if (isIE)
{
tArea.focus();
var curSelect = document.selection.createRange();
if (arguments[2])
{
curSelect.text = open + arguments[2] + ">" + curSelect.text + end;
}
else
{
curSelect.text = open + curSelect.text + end;
}
}
else if (!isIE && typeof tArea.selectionStart != "undefined")
{
var selStart = tArea.value.substr(0, tArea.selectionStart);
var selEnd = tArea.value.substr(tArea.selectionEnd, tArea.value.length);
var curSelection = tArea.value.replace(selStart, '').replace(selEnd, '');
if (arguments[2])
{
tArea.value = selStart + open + arguments[2] + ">" + curSelection + end + selEnd;
}
else
{
tArea.value = selStart + open + curSelection + end + selEnd;
}
}
else
{
tArea.value += (arguments[2])? open + arguments[2] + ">" + end : open + end;
}
}

//-->
</script>


<table border="1" cellspacing="0" cellpadding="0" bordercolor="#333333" bgcolor="#808080" width="413">
	<tr>

	  <td width="409" bordercolor="#333333" align="center">
		<p dir="rtl"><span lang="ar-sa">
		<font face="Tahoma" size="2" color="#FFFFFF">أ</font></span><font face="Tahoma" size="2" color="#FFFFFF">سمك :</font> </span>
		<input type="text" name="name" size="27" style="border:3px double #000000; background-color:#FF9900"> </td>
	</tr>

	<tr>

	  <td width="409" bordercolor="#333333" align="center">
		<p dir="rtl"><font face="Tahoma" size="2"> <font color="#FFFFFF">
		<span lang="ar-sa">أ</span>يميلك :</font> </span></font>
		<input type="text" name="mail" size="27" style="border:3px double #000000; background-color:#FF9900">
		</td>
	</tr>
	<tr>
	  <td width="409" bordercolor="#333333">
		<p dir="rtl" align="center">{smilies}</td>
	</tr>
	<tr>
	  <td width="409" bordercolor="#333333" bgcolor="#C0C0C0">

<p align="center"><noindex>
<nobr><a href="java script:insertext0('','', 'short')"><img src="images/bold.gif" border="0" alt="تعريض"></a> <a href="java script:insertext0('','', 'short')"><img src="images/italic.gif" border="0" alt="ميلان"></a> <a href="java script:insertext0('','', 'short')"><img src="images/underline.gif" border="0" alt="تسطير"></a></nobr>
 <nobr> <a onclick="ubbc('','')"><img src="images/createlink.gif" border="0" alt="رابط"></a></nobr>
<nobr> <a href="java script:insertext0('اقتباس
','', 'short')"><img src="images/quote.gif" border="0" alt="اقتباس"></a></nobr>
</noindex></p>
		</td>
	</tr>
	<tr>
	  <td>

<form name="form" method="post" id="comment" action="">
<p align="center">
<textarea cols="47" rows="5" id=commentsbox name="comments" style="border-style: double; border-width: 5px; color:#333333; background-color:#FF9900" onbeforedeactivate="window.txtRange = document.selection.createRange();" dir="rtl" ></textarea></p>
<p dir="rtl" align="center">
<font face="Tahoma" size="2"><input type="submit" name="submit" value="اضافه رد" style="font-family: Tahoma"></font>
<input type=checkbox name=CNremember  id=CNremember value=1><font face="Tahoma" size="2"><label for=CNremember> 
<span lang="ar-iq">تذكرني</span></label> | <a href="java script:CNforget();">انساني</a>
	  </font>
	  </td>
	</tr>
  </table>
  </tr>
</table>
</div>

اسف لاني اتعبتك معي

[moveleft]

MiN! SpId3r SqUaD

[/moveleft]

#11

اتمنى منك ان تقوم بدراسة الشفرات التي نكتبها في المرات القادمة فالفائدة لك في النهاية.

اتصور ان الشفرة التالية ليست ضرورية اعلاه

var tArea = document.form.comments;
var isIE = (document.all)? true : false;
var open = (open)? open : "";
var end = (end)? end : "";

if (isIE)
{
tArea.focus();
var curSelect = document.selection.createRange();
if (arguments[2])
{
curSelect.text = open + arguments[2] + ">" + curSelect.text + end;
}
else
{
curSelect.text = open + curSelect.text + end;
}
}
else if (!isIE && typeof tArea.selectionStart != "undefined")
{
var selStart = tArea.value.substr(0, tArea.selectionStart);
var selEnd = tArea.value.substr(tArea.selectionEnd, tArea.value.length);
var curSelection = tArea.value.replace(selStart, '').replace(selEnd, '');
if (arguments[2])
{
tArea.value = selStart + open + arguments[2] + ">" + curSelection + end + selEnd;
}
else
{
tArea.value = selStart + open + curSelection + end + selEnd;
}
}
else
{
tArea.value += (arguments[2])? open + arguments[2] + ">" + end : open + end;
}
}

اختبر الصفحة بدونها.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#12

اسف يبدو اني ازعجتك لكن تأكد اني دائما احاول قبل ان اكتب هنا

وحتى بعد ان اكتب استمر بالمحاوله

هذا الكود بعد دراستي رغم اني لا افهم بالجافا

<script type='text/javascript'>
<!--

function ubbc(open, end)
{
if (open == "")
{
var txt = prompt("Enter URL for the link.","http://");

if (txt)
{
open = '[link]'+txt+'[/link]';
}
else
{
return false;
}
}


var tArea = document.form.comments;
var isIE = (document.all)? true : false;
var open = (open)? open : "";
var end = (end)? end : "";

if (isIE)
{
tArea.focus();
var curSelect = document.selection.createRange();
if (arguments[2])
{
curSelect.text = open + arguments[2] + ">" + curSelect.text + end;
}
else
{
curSelect.text = open + curSelect.text + end;
}
}
else if (!isIE && typeof tArea.selectionStart != "undefined")
{
}
}

//-->
</script>

اما ما حددته لي فانه يدخل في تعريف التكست ايريا ولا يعمل اكود عند حذفه

الان هذا الكود يعمل رفم انه يحوي على اجزاء لا اعرف فائدتها لكن لا استطيع حذفها

لكن يبدو انهل لتنسيق الكود السابق

عموما انا اشكرك وانا احاول مع احد الاكواد ويبو اني قادم اليك مره اخره D:

[moveleft]

MiN! SpId3r SqUaD

[/moveleft]

#13

اه نعم.. بالفعل عذراً فلم انتبه لنهاية الوظيفة بسبب توضع كامل أقواس الإغلاق والفتح على نفس الجهة في بداية السطر.

الكود السابق بكامله ضروري. ما هو الجزء الذي لا تعلم ما عمله؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#14

شكرا لك حصلت مشكله انه عند وضع الكود في الموقع لايعمل او بالاحره لا يرسل الكود للتكست ايريا !!!!

وقد جربت العمليه في اكثر من متصفح لا تعمل !!! معى انه يعمل عند تشغيله وهو على الكمبيوتر وعلى كل المتصفحات ؟؟؟ ما سبب حدوث ذلك

اما الجزء الذي لم افهمه هو الاخير و اعتقد انه يقوم بفحص اذا كان النص المحدد ينتعي بقوس ليقوم بوضع الكود بعده للتنسيق كما قلت لك وحتى اني لم اعدله

مع الاقواس المستعمله لدي

وشكرا لك مره اخرى تعبتك معايه

[moveleft]

MiN! SpId3r SqUaD

[/moveleft]

هذا الموضوع مغلق.

مواضيع مشابهة