3

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

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

4

3 回答 3

9

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

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

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

于 2012-10-04T14:15:52.653 回答
1

相对 URL 总是根据当前文档的 URL 解析为绝对 URL。

于 2012-10-04T14:19:58.907 回答
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]');

希望这可以帮助。

于 2012-10-04T14:21:01.170 回答