【发布时间】:2012-01-29 10:50:36
【问题描述】:
我偶尔会访问一些在 HREF 中标明页码的 URL。这些变化,我需要跟踪最后一次访问。我一直在通过剪切粘贴到一个文本文件中来做到这一点,但想用我可以用 javascript 更新的本地 HTML 页面替换它。这是我创建的一个示例:
<script type="application/javascript">
function update(n,newvalue) {
var link = document.getElementById('l' + n);
var href = link.getAttribute('href', 2);
var textfield = document.getElementById('p' + n);
var parts = new Array();
parts = href.split('-');
parts[1] = 'p' + newvalue;
textfield.setAttribute('value', newvalue);
var newhref = parts.join('-');
link.setAttribute('href',newhref);
}
</script>
<form>
<dl>
<dt><a target="_blank" id="l1" href="http://foobar.org/t5-p8-data.html">Task 5 Data<a></dt>
<dd>Page: <input type="text" id="p1" value="8" onChange="update(1,this.value)" /> </dd>
</dl>
</form>
</html>
当我在文本字段中输入一个新值并使用 Firebug 跟踪它时,它似乎工作正常,即链接 href 值和文本字段值在 DOM 中发生了变化,但是当函数退出时,它们又回到了页面中的原始值。我做错了什么?
【问题讨论】:
-
在 Fx4 中为我工作 - 我个人会使用 onKeyUp 而不是 onchange
-
我认为正确的类型是
text/javascript- 至少基本上到处都是这样。 -
奇怪。我在 Fx 3.6.17 和 IE 8 中尝试了它,它的行为如前所述。这能解释什么?
-
(无关:你没有关闭
<DT>中的<A>) -
@steve 我对您如何更改 href 值非常感兴趣。就像一个魅力,tks!
标签: javascript href