السلام عليكــم ورحمـة الله وبركاتــه ،،
حياكم الله
أريد أن أضيف textarea بعدد معين إلى الصفحة و ذلك بدون الرجوع إلى السيرفر من أجل هذه العملية
كتبت كود من أجل ذلك بالجافاسكربت و هو بالفعل يعمل بكفاءة غير أننى لا أستطيع أن أتعامل مع الtextarea التى أضافها إلى الصفحة من خلال الASP
حينما يحدث PostBack فلا أستطيع أن أصل إلى الأدوات التى تم إضافتها بل إنه لا يشعر بها أصلا
قطعا لكونها ليست server side Control
كود الجافاسكربت
<script type="text/javascript">
window.onload = GetTxtNum;
var panID;
function GetTxtNum()
{
panID = '<%=panAnswers.ClientID%>';
document.getElementById("AnsNum").selectedIndex = 0;
document.getElementById("AnsNum").onchange = createControls;
}
function createControls()
{
var temp = document.getElementById("AnsNum");
var num = temp.options[temp.selectedIndex].value;
document.getElementById(panID).innerHTML="";
var controlsBuffer="";
//var run = 'runat=\"server\"';
for(var i = 1; i <= num; i++)
{
controlsBuffer += '<h4 style="font-weight: lighter; margin-top: 5px; margin-bottom: 5px">Answer No# '+ i + '</h4>'+
'<textarea ID=\"txtA' + i + '\" style="width:800px;height:70px"></textarea>';
}
document.getElementById(panID).innerHTML=controlsBuffer;
}
</script>أقوم بإختيار من select عدد الtextarea المرغوب بها ثم أقوم بإستخدامه لكى أنتج العدد المطلوب
هذا كود السيرفر
foreach (Control textBox in this.panAnswers.Controls)
{
if (textBox is HtmlTextArea)
{
if (((HtmlTextArea)textBox).Value.Trim() != string.Empty)
{
answers.Add(((HtmlTextArea)textBox).Value);
}
}
}كيف أجعل الtextarea مرئية فى السيرفر !!
ملحوظة جانبية
يوجد بالفعل فى الصفحة textarea و أستطيع الوصول إليها بكفاءة من خلال السيرفر و لكن هذه أضفتها حينما كنت أنشئ الصفحة أول مرة و بها
runat="server"
و لكن الأخرين بالطبع ليس بهم !