我正在尝试获取放置在表单操作中的实际字符串。问题是,当我这样做时,即使相对路径在HTML中,action属性也会解析为绝对路径。如何获取action属性中的实际字符串?
以下是我所指的示例: http://jsfiddle.net/MSY4s/
答案 0 :(得分:9)
如果你已经在使用jquery,我会使用.attr
函数,而不是从jQuery对象中提取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]');
希望这有帮助。