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