使用Javascript / jQuery以编程方式将当前锚点/散列/片段附加到任何表单操作URL

时间:2012-09-02 23:57:26

标签: javascript jquery url anchor

我有一个JSP,其中包含一些外部API自定义taglibs,可以处理hash的网址(我知道服务器端本身并不处理它们)。

我正在尝试这样的事情

$(document).ready(function(){
    $('form').prop('action').append(window.locator.anchor)
});

但我做错了,我不确定这是不是最好的方法。你能帮帮我吗?

1 个答案:

答案 0 :(得分:3)

没有理由这样做,因为散列永远不会发送到服务器。但这是你可以做的事情:

$('form').prop('action', function(i, val) {
    return val + window.location.hash;
});

您的代码中有一些不正确的内容:

  • .prop(name) [docs] 返回该属性的值,通常是一个字符串。

  • .append [docs]是一个将 DOM元素附加到另一个元素的jQuery方法。 不是一个字符串方法,不能用于连接字符串。

  • window.locator.anchor不存在。 window.location [MDN]包含有关当前网址的信息,它有一个属性hash,它引用了网址的片段标识符。

我建议您查看jQuery documentation。它有每种方法的例子。您还必须learn some elementare JavaScript才能执行字符串连接等简单操作。