gpt4 book ai didi

javascript - 在 aspx 输入字段上/中插入文本并设置焦点?

转载 作者:行者123 更新时间:2023-11-30 18:15:34 27 4
gpt4 key购买 nike

我在 aspx 站点上执行 javascript 函数时遇到问题,该函数应在文本框(多行)内容的开头插入一个字符串,并将光标设置在插入字符串的中间。它根本不会在我这边被调用。

ASPX代码:

    <head runat="server">
<title>Unbenannte Seite</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function setCaretPosition(elemId, caretPos) {
var elem = document.getElementById(elemId);

if(elem != null) {
if(elem.createTextRange) {
var range = elem.createTextRange();
range.move('character', caretPos);
range.select();
}
else {
if(elem.selectionStart) {
elem.focus();
elem.setSelectionRange(caretPos, caretPos);
}
else
elem.focus();
}
}
}

$("#<%=Button1.ClientID %>").click(function(e){
e.preventDefault();
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1;
var curr_year = d.getFullYear();
var curr_hour = d.getHours();
var curr_minute = d.getMinutes();
var name = "Name";
var wert = curr_date + "." + curr_month + "." + curr_year + " / " + curr_hour + ":" + curr_minute + " / " + name + "\n" + "----------------------------------------" + "\n";
var len = wert.length();
wert = wert + "\n" + "----------------------------------------" + "\n" + "\n";
var input = $("#<%=tbVZusatz.ClientID %>");
input.val(wert + input.val());
input.val(input.val());
setCaretPosition("<%=tbVZusatz.ClientID %>",len);
});

</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="tbVZusatz" runat="server" TextMode="MultiLine" Height="500px" Width="300px"></asp:TextBox>
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="Stempel" />
</div>
</form>
</body>

插入的字符串应该是这样的:

13.11.2012 / 13:08 / LightMonk
----------------------------------------
(Position of the Cursor here!)
----------------------------------------

我为此使用的来源:

http://jsfiddle.net/VP9zT/1/

Set keyboard caret position in html textbox

更正的 Javascript:

<script type="text/javascript">
$(document).ready(function(){
$("#<%=Button1.ClientID %>").click(function(e){
e.preventDefault();
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1;
var curr_year = d.getFullYear();
var curr_hour = d.getHours();
var curr_minute = d.getMinutes();
var name = "Name";
var wert = curr_date + "." + curr_month + "." + curr_year + " / " + curr_hour + ":" + curr_minute + " / " + name + "\n" + "----------------------------------------" + "\n";
var len = wert.length;
wert = wert + "\n" + "----------------------------------------" + "\n" + "\n";
var input = $("#<%=tbVZusatz.ClientID %>");
input.val(wert + input.val());
input.val(input.val());
setCaretPosition("<%=tbVZusatz.ClientID %>",len);
});
});

function setCaretPosition(elemId, caretPos) {
var elem = document.getElementById(elemId);

if(elem != null) {
if(elem.createTextRange) {
var range = elem.createTextRange();
range.move('character', caretPos);
range.select();
}
else {
if(elem.selectionStart) {
elem.focus();
elem.setSelectionRange(caretPos, caretPos);
}
else
elem.focus();
}
}
}


</script>

最佳答案

首先,您的代码应如下所示,在 document.ready() 上注册了处理程序(我删除了 asp.net 标记) http://jsfiddle.net/rMmwq/

另请注意

 var len = wert.length;

代替

 var len = wert.length();

关于javascript - 在 aspx 输入字段上/中插入文本并设置焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13360665/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com