正在做一个论坛,打算让用户输入文章时,能够进行简单的处理,但不打算使用复杂的在线编辑系统
我的设想是用户点击按钮,在文本框中插入一些代码。
从一些网站下了段jS代码,但只能使用客户端的<textarea>,不能使用<textbox>,这样,服务器端就不能得到<textarea>的值,如果把<textarea>转换成服务器控件,js代码就不能正常使用。
请问怎么解决?源码:
(.aspx)
<body >
<form id="Form1" method="post" runat="server">
<TEXTAREA onkeydown="quickpost()" onfocus="getActiveText(this)" onclick="getActiveText(this)" name="atc_content" rows="15" cols="60" onchange="getActiveText(this)" id="TEXTAREA1"></TEXTAREA><asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
</form><script language="javascript">
var text = "";
function getActiveText(selectedtext)
{
text = (document.all) ? document.selection.createRange().text : document.getSelection();
if (selectedtext.createTextRange)
{
selectedtext.caretPos = document.selection.createRange().duplicate();
}
return true;
}function bold() {
AddTxt=""+text+"";
AddText(AddTxt);
}function AddText(NewCode)
{
if (document.Form1.atc_content.createTextRange && document.Form1.atc_content.caretPos)
{
var caretPos = document.Form1.atc_content.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? NewCode + ' ' : NewCode;
}
else
{
document.Form1.atc_content.value+=NewCode
}
document.Form1.atc_content.focus();
}
</script>
</body>
(.aspx.cs)
private void Button1_Click(object sender, System.EventArgs e)
{
string texts=atc_content.value;//无法得到文本框atc_content的内容,atc_content不存在
}该怎么办?
我的设想是用户点击按钮,在文本框中插入一些代码。
从一些网站下了段jS代码,但只能使用客户端的<textarea>,不能使用<textbox>,这样,服务器端就不能得到<textarea>的值,如果把<textarea>转换成服务器控件,js代码就不能正常使用。
请问怎么解决?源码:
(.aspx)
<body >
<form id="Form1" method="post" runat="server">
<TEXTAREA onkeydown="quickpost()" onfocus="getActiveText(this)" onclick="getActiveText(this)" name="atc_content" rows="15" cols="60" onchange="getActiveText(this)" id="TEXTAREA1"></TEXTAREA><asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
</form><script language="javascript">
var text = "";
function getActiveText(selectedtext)
{
text = (document.all) ? document.selection.createRange().text : document.getSelection();
if (selectedtext.createTextRange)
{
selectedtext.caretPos = document.selection.createRange().duplicate();
}
return true;
}function bold() {
AddTxt=""+text+"";
AddText(AddTxt);
}function AddText(NewCode)
{
if (document.Form1.atc_content.createTextRange && document.Form1.atc_content.caretPos)
{
var caretPos = document.Form1.atc_content.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? NewCode + ' ' : NewCode;
}
else
{
document.Form1.atc_content.value+=NewCode
}
document.Form1.atc_content.focus();
}
</script>
</body>
(.aspx.cs)
private void Button1_Click(object sender, System.EventArgs e)
{
string texts=atc_content.value;//无法得到文本框atc_content的内容,atc_content不存在
}该怎么办?
解决方案 »
- Iamge控件困扰,望高手解救!!
- 时间倒计时的一个小问题!!!
- ?如何在当前页面调用母版页的方法
- ie6可以显示<asp:Panel>但是ie7中不能显示,为什么?
- 网站要求对会员进行视频认证,与会员上传照片对比?
- 在用.net做网页时,网页链接链接到WORD文件,在浏览器中访问时点击此链接,只想直接在IE中打开WORD文件,而不显示是否保存对话框,!请教如何实现???
- 关于dropdownlist控件的问题,语言=VB
- 高分求C#.net论坛源码?
- detailsview gridview问题@!!
- RadioButton在datalist中怎么只选一个?
- 我上传了一个word文档到oracle数据库,请问我如何将它下载到本地并打开它呢?请给一示例,谢谢。。。
- 哪位仁兄知道如何用C#获取当前页的URL地址啊 比如"http://www.163.com/index.htm"
{
string texts=atc_content.InnerText;
}
--------------------------------------------------
客户端<textarea>可以通过提交给服务器端的方法得到.
textarea 转换回服务器控件加 ruanat="server"就可以了,js代码也不受影响的,怎么会不能正常使用.
还是用客户端textarea,再放一个隐藏的服务器textarea,当提交时,通过js把客户端的拷备到服务器的textarea.
方法比较笨,更好的方法没想到,忘高手指教!
or
page_load 中加入
Button1.Attributes.Add("OnClick","return Check()");
<TextArea ................. runat="server">private void Button1_Click(object sender, System.EventArgs e)
{
string texts=atc_content.InnerText;
}js不能正常执行!!!!当执行JS中的bold()函数时,提示:
document.Form1.atc_content.createTextRange为空或不是对象
Page.RegisterStartupScript("Innertext","<script>document.getElementById("atc_content").Inner.Text</script>");
<TextArea ................. runat="server">private void Button1_Click(object sender, System.EventArgs e)
{
string texts=atc_content.InnerText;
}//对不起,有剽窃嫌疑
2.
private void Button1_Click(object sender, System.EventArgs e)
{
string texts=Request.QueryString["atc_content"].ToString();
}