【发布时间】:2018-02-27 20:22:22
【问题描述】:
我几乎没有 JavaScript 经验,但我知道 getElementID 只携带一个值,那么我如何才能传递 2 个值? 我可以像下面那样使用它两次,还是使用另一个 GetElementBy/GetElementsBy 方法更好?
<script type="text/javascript">
$(document).ready(function () {
hash();
function hash() {
var hashParams = window.location.hash.substr(1).split('&');
for (var i = 0; i < hashParams.length; i++) {
var p = hashParams[i].split('=');
document.getElementById("<%=start.ClientID%>").value = decodeURIComponent(p[1]);
document.getElementById("<%=end.ClientID%>").value = decodeURIComponent(p[1]);;
}
}
});
</script>
编辑 所以我决定使用循环两次并且它的工作但我传递的值包含我需要删除的文本。有没有办法可以在某个角色之后切断分裂?这是我的新代码
<script type="text/javascript">
$(document).ready(function () {
hash();
function hash() {
var hashParams = window.location.hash.substr(1).split('#');
for (var i = 0; i < hashParams.length; i++) {
var p = hashParams[i].split('=');
document.getElementById("<%=start.ClientID%>").value = decodeURIComponent(p[1]);
}
var hashParams = window.location.hash.substr(1).split('&');
for (var i = 0; i < hashParams.length; i++) {
var p = hashParams[i].split('=');
document.getElementById("<%=end.ClientID%>").value = decodeURIComponent(p[1]);;
}
}
});
</script>
这是从上一页转发时出现在搜索栏中的文本。 localhost:56363/Bookings.aspx#start=27/02/2018 12:30&end=27/02/2018 17:30
开始和结束输入框填充了值,但开始输入框 (27/02/2018 12:30&end) 包含我想要切断的字符 (&end)。 有没有办法在某个字符之后停止分裂?
【问题讨论】:
-
getElementById 每次你想通过 Id 从 DOM 中获取元素时都需要调用。从 DOM 调用多个元素的方法可能比通过 Id 更有效。例如,如果您需要遍历一组具有相同名称的元素,则可以使用 getElementsByName。
标签: javascript asp.net split webforms getelementbyid