相对表单操作解析为绝对URL?

时间:2012-10-04 14:12:15

标签: javascript jquery forms dom

我正在尝试获取放置在表单操作中的实际字符串。问题是,当我这样做时,即使相对路径在HTML中,action属性也会解析为绝对路径。如何获取action属性中的实际字符串?

以下是我所指的示例: http://jsfiddle.net/MSY4s/

3 个答案:

答案 0 :(得分:9)

如果你已经在使用jquery,我会使用.attr函数,而不是从jQ​​uery对象中提取DOM元素。像这样:

$("form").attr("action");

这应该在字面上给出action属性中的内容。在您提供的示例中,应该看起来像“/某处”。 jFiddle中的第二个示例将显示完整路径,因为这是action属性中的内容。

答案 1 :(得分:1)

相对URL总是在当前文档的URL的基础上解析为绝对URL。

答案 2 :(得分:1)

试试这个:

提供两个表单ID:

<form id="form1" action="/somewhere" method="post">
<input type="text" name="test" />
</form>

<form id="form2" action="https://fiddle.jshell.net/somewhere2" method="post">
<input type="text" name="test" />
</form>​

然后使用这些ID您可以获取每个表单的action属性:

$('#form1').attr('action');

$('#form2').attr('action');

您还可以使用相同的标记设置操作属性:

$('#form1').attr('action', '[New Action Value]');

$('#form2').attr('action', '[New Action Value]');

希望这有帮助。