0

我想通过用户选择更改用户嵌入的链接文本。该表单有 2 个文本框,一个用于带有 onkeyup 事件的用户输入,另一个是带有 href html 标记的只读文本框

当用户开始在第一个文本框中输入时,需要更改只读输入。

我尝试了不同的方法,但没有奏效

<asp:TextBox ID="txtAlinkTitle" runat="server" Text="Register Now" onkeyup="func(this,<%=txtALink.ClientID%>)" /><br />
    <asp:TextBox ID="txtALink" Text="<a href='http://google.com'>my text for link</a> " ReadOnly="true" runat="server" Width="100%" />

我怎样才能做到?

4

3 回答 3

0

试试这个更新的:http: //jsfiddle.net/cfzt9/1/

我的html:

<input type='text' id='txtAlinkTitle' value=''/>
<input type='text' style='width:320px' id='txtALink' readonly='true' value="<a href='google.com'>aaa</a>"/>

和我的 jQuery:

$('#txtAlinkTitle').keyup(function(){
    var textVal = $(this).val();
    var aa = $('#txtALink').attr('value');
    var bb = aa.substr(0, aa.indexOf('>')+1);
    var cc = aa.substr(aa.indexOf('</a>'));
    $('#txtALink').attr({"value":bb+textVal+cc});
});
于 2012-12-13T07:32:23.660 回答
0

这是在文本框文本中给出 href 的错误方法。您可以在文本框更改时使用 jquery 放置锚标记并设置其 href 值。

<asp:TextBox ID="txtAlinkTitle" runat="server" Text="Register Now" onkeyup="changeHref(this)" /><br />
<a id='aTag' href='http://google.com'>my text for link</a> 


funcation changeHref(sender)
{
   $("#aTag").attr('href', sender.val());
}

您也可以使用 javascript 代替 jquery。

于 2012-12-13T07:38:02.980 回答
0

如果您不想放置标签,请在函数中传递 url,

   <asp:TextBox ID="txtAlinkTitle" runat="server" Text="Register Now" onkeyup="changeHref(this,url)" /><br />
   <asp:TextBox ID="txtALink" Text="<a href='http://google.com'>my text for link</a> " ReadOnly="true" runat="server" Width="100%" />


funcation changeHref(sender,target,url)
{

   $('#<%=txtALink.ClientID%>').attr('href', '<a href=" + url + " >" + sender.val() + "</a>');
 }

或使用Javascript 子字符串方法替换

于 2012-12-13T07:48:23.210 回答