不正确的复选框重定向
Incorrect check boxes redirect
>有人可以告诉我下面的函数有什么问题吗?
<form name="Menu" id="menu" onsubmit="this.enviar();">
<select id="pais" name="pais" size="1"">
<option value="polonia">Polónia</option>
<option value="portugal">Portugal</option>
<option value="reino-unido">Reino Unido</option>
</select>
<select id="area" name="area" size="1">
<option value="#">Seleciona uma área </option>
<option value="arquitetura">Arquitetura</option>
<option value="comunicacao">Comunicação</option>
<option value="design">Design</option>
</select>
<input type="submit" value="Pesquisar"/>
</form>
<script type="text/javascript">// <![CDATA[
function vai(link) { location.href= link; }
function enviar(){
var pais = document.menu.pais.value;
var area = document.menu.area.value;
window.location.href("http://www.teste.pt/tag/"+pais+"+"+area);
}
// ]]></script>
不要转到链接http://www.teste.pt/tag/pais+area
,请执行以下操作:http://teste.pt/?pais=holanda&area=informatica
有人可以帮助我吗?
只需在enviar()
函数中更改目标href
即可。由于变量正在成为查询字符串的一部分,因此建议将它们也包装在encodeURIComponent
中,以便为此目的正确编码它们。
function enviar(){
// Also recommend using getElementById() to get these nodes
var pais = document.getElementById("pais").value;
var area = document.getElementById("area").value;
window.location.href("http://teste.pt?pais=" + encodeURIComponent(pais) + "&area=" + encodeURIComponent(area));
}
评论后更新:
如果你想让 JavaScript 继续重定向到同一个链接http://www.teste.pt/tag/"+pais+"+"+area
但在内部将其处理为http://teste.pt/?pais=holanda&area=informatica
,则必须使用重写规则来完成。 如果您使用的是 Apache,则应将以下内容放入您的 .htaccess 文件中:
RewriteEngine On
RewriteRule ^tag/([^+]+)'+(.*)$ /?pais=$1&area=$2 [L]
相关文章:
- 不正确的复选框重定向
- 高级表单提交-单选、复选框和重定向
- 单击复选框时重定向
- 如何在提交时防止粘性复选框重置?(一页上有多个表格)
- HTML5/Javascript验证复选框提交URL重定向
- 一次选中4个复选框,然后将页面重定向到新页面
- 重定向到不同的页面,基于选中的复选框组合
- 将复选框重置为基于先前复选框的页面加载状态's状态
- 使用 jQuery 重定向复选框
- j查询单击事件重置复选框的检查属性
- 动态复选框被重置
- 从更新下拉框重置复选框
- 根据从弹出窗口中选择的复选框,重定向
- 重定向取决于选中哪个复选框
- JQGRID-保持复选框选择状态-页面刷新/重定向/重新加载
- 如何重置复选框、搜索文本框和选择列表
- 复选框选择时的表单重定向
- 在javascript和php中单击TAB菜单时清除或重置复选框
- 当点击一行时重定向到页面,当点击复选框时启用按钮.'
- 重置复选框值 MVC 5 中的 AJAX 开始表单响应