多个操作问题onclick

时间:2009-12-02 16:23:43

标签: javascript html

我有一个包含表单和导航链接的页面。如果您点击导航链接,我需要提交表单并按照导航请求进行操作。

要做到这一点,我有一个链接谁是href指向新的页面请求,并且我将onclick事件绑定到在页面上提交表单的函数。

这种情况是否会导致难以重现未提交表单的问题?

例如:

function submitForm(){
document.myform.submit();
}

<a href="page1.html" onclick="submitForm()">Back To page 1</a>
<form action="procsub" method="post"><input type="text" id="val1" /></form>

2 个答案:

答案 0 :(得分:0)

当您运行javascript以提交表单时,它将发布到表单的操作URL。这会重定向你,你的javascript可能无法运行。

你可以: a。)将您的submitForm()更改为通过AJAX发布,然后使用window.location进行javascript重定向? - &GT; More Info

b。)从操作页面到任何您想去的地方进行重定向:
1.)在表单中传递一个带有目标网址的隐藏字段 2.)在标题或javascript

中从操作页面获得固定的重定向

答案 1 :(得分:0)

提交表单基本上意味着重新加载页面(定位于同一页面,或表格中定义的不同页面)。链接之后也是重新加载页面的一种方法。

你可以做的就是像这样修改你的submitForm函数:

function submitForm(a) {
    document.myform.action += '?redirectPage=' + a.href; // given that action doesn't already contain querystrings
    document.myform.submit();
}

<a href="page1.html" onclick="submitForm(this);">Back to page 1</a>

然后拥有处理表单请求的页面,回发到以redirectPage传递的任何页面。

表单提交确实不是用户在点击“返回页面1”时所期望的。你可能想再多想一次......