1

语境

我在每张图片上都有一个表单,该表单具有“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 行)。
4

0 回答 0