0

我正在使用它onclick='document.forms['form_name'].submit(); return false;',但这并不像我拥有的​​那样工作href=results.php?page_no=1,有动态链接,示例显示使这项工作我需要使用href="#",但知道如何提交表单而不是导航到page2?因为我想在会话中保存复选框值

4

4 回答 4

2

将类添加到您的 hrefs (class="pagination") 和 id (id="form") 到您的表单。然后你可以使用 Jquery 框架来处理这些东西。

$(".pagination").click(function(){  
// get page id, set form action with params
$("#formId").submit();

return false;  
});
于 2013-02-12T20:53:44.210 回答
0

一些选项:

1)使用jQuery AJAX,序列化并发布表单数据,然后在onSuccess回调上重定向(location.href)。像这样的东西:

$.post("submitform.php", 
       $("form").serialize(),  
       function(data){location.href='results.php?page_no=2';}
      );

2) 使用表单标签上的“目标”将表单发布到一个命名的隐藏 iFrame。如果这真的只是一种尽力而为的记录,您不需要等待页面加载,请求应该足够了,您可以继续到下一页。像这样的东西:

<iframe="targetname" style="display:none;" />
<form name="myform" target="targetname" method="post" action="submitform.php">
....
</form>
<a href="page2.php" onClick="document.forms['myform'].submit(); return true;">
Click Here
</a>
于 2013-02-12T21:03:22.417 回答
0

在这里,我将 page2 替换为 Google 只是为了测试

<a href="#" onclick="document.forms['test'].submit(); return false;">Submit</a>
<form method="get" action="https://www.google.com/search?q=test" name="test">
<input name="Checkbox1" type="checkbox" />
</form>

编辑:

<a href="page2.php?page=2" onclick="document.test.action =encodeURIComponent(this.getAttribute('href')); document.forms['test'].submit(); return false;">Submit</a>
<form method="get" action="" name="test">
<input name="Checkbox1" type="checkbox" />
</form>

没有 encodeURIComponent(this.getAttribute('href') 参数会丢失。

于 2013-02-12T20:42:38.087 回答
0

你有一个糟糕的设计。

您不能在表单单击上执行多个竞争操作并期望它起作用。

您需要让链接被点击并让它加载另一个页面,或者如果您只是设置一些会话变量(尽管使用查询字符串参数或 cookie 设置它会好得多),您可以使用 Ajax 请求异步发送。

于 2013-02-12T20:57:22.147 回答