【发布时间】:2021-01-31 14:15:46
【问题描述】:
Asp.Net C# 多行文本框(textbox1)值在 35 个地址字符后拆分并添加到文本框(textbox2 - Singleline)再次拆分接下来的 35 个字符并添加到文本框(textbox3 - Singleline)再次拆分接下来的 35 个字符并添加到文本框(文本框 4 - 单行)再次拆分接下来的 35 个字符并添加到文本框(文本框 5 - 单行)。 注意: 虽然在 35 个字符后拆分值,但请确保一个单词不完整,然后在下一行添加该单词,例如(...31 地址 - 这里地址的添加位置是 35 个字符,所以它会滑倒并添加到新文本框中,但我希望新文本框中的单词地址和从它们中计算到 35 个字符,依此类推。)
我试过了,但没用..
function CheckReturns() {
var txt = document.getElementById("TextBox1");
var splitResults = txt.value.split("\n");
if (splitResults[splitResults.length - 1].length < 35) {
if (splitResults[3].length > 0) {
document.getElementById('address4').value = splitResults[3];
}
return true;
}
else {
document.getElementById('address1').value = splitResults[0];
document.getElementById('address2').value = splitResults[1];
document.getElementById('address3').value = splitResults[2];
txt.value = txt.value + "\n";
}
}
<asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" MaxLength="140" Rows="10" Columns="60"
onblur="return CheckReturns();" placeholder="Enter Address here.."></asp:TextBox>
<br />
Address1:<asp:TextBox ID="address1" runat="server" Width="220px" ></asp:TextBox><br />
<br />
Address2:<asp:TextBox ID="address2" runat="server" Width="220px" ></asp:TextBox><br />
<br />
Address3:<asp:TextBox ID="address3" runat="server" Width="220px" ></asp:TextBox><br />
<br />
Address4:<asp:TextBox ID="address4" runat="server" Width="220px" ></asp:TextBox>
【问题讨论】:
-
你想要这个答案用 JS 写吗?
-
是的,然后将该值分配给文本框。
-
我个人认为我不会使用 Split。我会得到一个长字符串,从第 35 个字符开始循环并向后工作以找到一个空格,然后在该位置将子字符串放入第一个文本框,然后减少长字符串并再次执行,继续执行 4 次
-
你可以使用split,如果你在空格上分割,那么只要你没有超过35,就在文本框中重复添加单词。如果当前添加的单词会让你超过35,移动插入到下一个文本框中。如果当前添加的单词长于 35,则必须对其进行子串化
标签: javascript c# asp.net