Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用href提交表格?_Php_Javascript_Html_Anchor - Fatal编程技术网

Php 如何使用href提交表格?

Php 如何使用href提交表格?,php,javascript,html,anchor,Php,Javascript,Html,Anchor,我正在使用这个onclick='document.forms['form_name'].submit();返回false;'但这不起作用,因为我有href=results.php?page_no=1等,有动态链接,示例显示要使这项工作正常,我需要使用href=“#”,但我知道如何提交表单,然后导航到第2页?因为我想在会话中保存复选框值,所以这里我用Google替换了page2以进行测试 <a href="#" onclick="document.forms['test'].submit()

我正在使用这个
onclick='document.forms['form_name'].submit();返回false;'
但这不起作用,因为我有
href=results.php?page_no=1
等,有动态链接,示例显示要使这项工作正常,我需要使用
href=“#”
,但我知道如何提交表单,然后导航到
第2页
?因为我想在会话中保存复选框值,所以这里我用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>

编辑:


如果没有encodeURIComponent(this.getAttribute('href'),参数将丢失。

将类添加到您的hrefs(class=“pagination”)中,并将id(id=“form”)添加到您的表单中。然后您可以使用Jquery框架来处理这些内容

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

return false;  
});
你的设计很糟糕

您不能在一个表单上执行多个相互竞争的操作并期望它正常工作

您需要单击链接并让它加载另一个页面,或者如果您只是设置一些会话变量(尽管使用querystring参数或cookie设置会更好),您可以使用Ajax请求异步发送该链接。

一些选项:

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

$.post("submitform.php", 
       $("form").serialize(),  
       function(data){location.href='results.php?page_no=2';}
      );
<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>
2) 使用表单标记上的“target”将表单发布到命名的隐藏iFrame。如果这真的只是一种尽力而为的记录,您不需要等待页面加载,那么请求应该足够了,您可以继续下一页。大概是这样的:

$.post("submitform.php", 
       $("form").serialize(),  
       function(data){location.href='results.php?page_no=2';}
      );
<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>

....


page2应该设置为表单操作,那么,我想你可以这样做。那么在提交时,你想遵循该操作还是忽略该操作并遵循javascript?我没有设置任何操作,正如我所说,我正在分页中使用它,因此我无法在此定义任何操作。你想发布表单,然后不等待响应,然后转到另一个页面?听起来不是个好设计。为什么不让帖子的结果在成功时重定向?@SteveH。我用这个来检查分页中的行,明白吗?所以我不需要检查是否成功,当用户单击下一页的链接时,它应该在会话数组中添加值,然后我检查值是否在数组中,我回显检查没有第2页,我说这是动态的,所以只能得到可变值的变化:)那么我不理解你的要求不知道这是否是语言问题,但我感觉到了态度。。。投反对票。。。使用更多的单词,而不是简洁的句子,你可能会得到更多的帮助。@SteveH。你在我的句子中看到了什么态度?@AcidicCloud:检查第二个OneHanks,这行得通,但我无法导航,这确实提交了,但没有进入下一页,你知道为什么吗+1“导航”是什么意思?只是重定向?我使用href,所以实际上表单应该提交,然后导航,我不能在这里使用操作,所以我需要href来尝试这一新行。但我认为这无论如何都不可能。因为您将通过提交来发送表单。这会使您发出HTTP请求,页面将再次加载。但您可以发送Ajax请求,然后更改位置。这将保存您的会话或您在该请求中想要的任何内容。事实上,我不知道Ajax或JavaScript,因为我是服务器端程序员,所以我是stuckedWell。这是学习Ajax和JavaScript的好地方。你试图用错误的工具解决问题。你已经取得了令人钦佩的进步,但是省去了一些麻烦,通过用户界面来实现。是的,我想我应该等待一个更好的解决方案,Tom的答案对我有效,但它不允许我导航到另一个页面Tom的答案有无效的语法,所以如果它对你有效,那只是偶然的。您可能会完全删除他的代码并获得相同的结果。