我正在使用此onclick='document.forms['form_name'].submit(); return false;'
,但这不起作用,因为我有href=results.php?page_no=1
等,有动态链接,示例显示要完成这项工作我需要使用href="#"
但是任何想法如何我可以提交表单,然后导航到page2
?因为我想在会话中保存复选框值
答案 0 :(得分:2)
将类添加到您的表单的hrefs(class =“pagination”)和id(id =“form”)。然后你就可以使用Jquery框架了。
$(".pagination").click(function(){
// get page id, set form action with params
$("#formId").submit();
return false;
});
答案 1 :(得分:0)
在这里,我用Google代替page2进行测试
<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(&#39; href&#39;),错过了参数。
答案 2 :(得分:0)
你的设计不好。
您无法在表单点击上执行多个竞争操作,并希望它能够正常运行。
您需要单击链接并让它加载另一个页面,或者如果您只是设置一些会话变量(尽管使用查询字符串参数或cookie设置它会好得多),您可以使用一个Ajax请求以异步方式发送它。
答案 3 :(得分:0)
一些选项:
1)使用jQuery AJAX,序列化并发布表单数据,然后在onSuccess回调上重定向(location.href)。像这样:
$.post("submitform.php",
$("form").serialize(),
function(data){location.href='results.php?page_no=2';}
);
2)使用表单标记上的“target”将表单发布到命名的隐藏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>