如何使用href提交表单?

时间:2013-02-12 20:33:47

标签: php javascript html anchor

我正在使用此onclick='document.forms['form_name'].submit(); return false;',但这不起作用,因为我有href=results.php?page_no=1等,有动态链接,示例显示要完成这项工作我需要使用href="#"但是任何想法如何我可以提交表单,然后导航到page2?因为我想在会话中保存复选框值

4 个答案:

答案 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>