语境
我在每张图片上都有一个表单,该表单具有“action”属性以重定向到当前 url。我希望在提交表单后,将用户重定向到当前 url,然后是他评论的图片的哈希值。
我想要的是
- 形式的“旧”动作属性 = ?q=page/35
- 表单的“新”动作属性 = ?q=page/35#4
我做了什么
Javascript:
var oldFormAction = $('span').find('.replies-form').attr('action');
if (!oldfFormAction.match(/#/)){
$('span').find('.replies-form').prop('action', oldFormAction + location.hash)
}
HTML:
<span class="image-caption current" style="opacity: 1;">
<form accept-charset="UTF-8" id="reply-add-form" class="replies-form" method="post" action="?q=page/35">
<div>
<input type="text">
</div>
<button type="submit" value="Submit">Submit</button>
</form>
</span>
什么不工作
- 在Chrome 和 Firefox中,它按预期工作!
- 但是,在Safari 6中(未在 IE 上测试),在表单提交期间不会保留哈希,即使表单操作本身发生了变化(上述代码的第 3 行)。