关于此问题有很多问题,但没有一个问题能说明我的情况。
为了便于使用并帮助Google对我的网站进行搜索索引,我想将一部分单选按钮更改为提交表单以及更改页面的超链接。
我的暂定代码是这样的,但还没有完全实现。这会将表单提交给服务器吗?顺便说一句,我使用谷歌应用引擎与python作为服务器语言和jinja2进行模板化。
<ul>
<form name="myForm">
<li><a href="/air/skydiving"><input type="hidden1" name="foo1" value="bar1">Skydiving</a></li>
<li><a href="/air/paragliding"><input type="hidden" name="foo2" value="bar2">Paragliding</a></li>
<li><a href="/air/hanggliding"><input type="hidden" name="foo3" value="bar3">hang gliding</a></li>
<li><a href="/air/basejumping"><input type="hidden" name="foo4" value="bar4">base jumping</a></li>
</form>
</ul>
更新:所以我意识到这是一个糟糕的问题,我忘记了我学习HTML的第一件事。我需要使用GET请求将一些参数发送到我的python服务器脚本,以便它可以处理其余的事情。这是我正在使用的代码:
HTML:
<ul>
<li><a href="/air?s=1">Skydiving</a></li>
<li><a href="/air?s=2">Paragliding</a></li>
<li><a href="/air?s=3">Hang Gliding</a></li>
<li><a href="/air?s=4">Base Jumping</a></li>
<li><a href="/air?s=5">Balloons</a></li>
</ul>
的Python
s = webapp2.request.get('s')
if s ==1:
#do what I want with this one
elif s == 2:
#same on down the line
答案 0 :(得分:1)
为什么你坚持使用POST?如果你担心SEO发布表格实际上会降低目标网页的SEO质量。您可以使用get请求将参数作为查询字符串传递给服务器端。您不需要发布表单,仍然可以在目标脚本中获取传递的变量并使用它们。例如,通过调用http://stackoverflow.com/posts?foo=bar&baz=qux
,您可以将2个变量传递给服务器端。在处理脚本中,您可以阅读:
foo = bar
baz = qux
如果您仍坚持发出POST请求,则应使用javascript处理此问题。尝试搜索“javascript表单帖子”
答案 1 :(得分:0)
您需要使用JavaScript来完成此任务。我也会重组一些事情。这是我认为你正在寻找的最终解决方案(使用jQuery):
$(document).ready(function () {
$("form > li > a").click(function () { $(this).parent().parent().submit(); });
});
<form name="myForm" method="POST" action="/air/skydiving">
<input type="hidden" name="foo" value="bar1" />
<li><a href="javascript:;">Skydiving</a></li>
</form>
<form name="myForm2" method="POST" action="/air/paragliding">
<input type="hidden" name="foo" value="bar2" />
<li><a href="javascript:;">Paragliding</a></li>
</form>
<form name="myForm3" method="POST" action="/air/hanggliding">
<input type="hidden" name="foo" value="bar3" />
<li><a href="javascript:;">hang gliding</a></li>
</form>
<form name="myForm4" method="POST" action="/air/basejumping">
<input type="hidden" name="foo" value="bar3" />
<li><a href="javascript:;">base jumping</a></li>
</form>