当用户按下提交按钮时,我试图创建一个链接到该选项的下拉列表,但我得到了奇怪的结果。值得一提的是,这是在Wordpress中的,所以我不确定它是否会影响结果。
<form id="select-id">
<select name="page">
<option >Select Area</option>
<option value="/condo/etobicoke/">Etobicoke</option>
<option value="/condo/toronto/">Toronto</option>
<option value="/condo/north-york/">North York</option>
</select>
<input type="submit" value="Submit"">
</form>
<script>
$('#select-id').submit(function(e) {
e.preventDefault();
url = $('#select-id').val();
window.open(url);
});
</script>第一个选项的结果是domainname.com?page=%2Fcondo%2Fetobicoke%2F,但我想要domainname.com/condo/etobicoke/
发布于 2018-03-14 02:34:05
您在JavaScript中获取了错误的值。您需要field值,而不是form值
$('#select-id').submit(function(e) {
e.preventDefault();
var url = $('[name="page"]').val();
window.open(url);
});看看这支笔:https://codepen.io/xhynk/pen/VXePqM?editors=1111
出于演示目的,我已将其更改为console.log,而不是打开窗口
发布于 2018-03-14 02:37:02
%2F与刚刚转换的/字符相同。此外,如果你的域名是domainname.com?page=%2Fcondo%2Fetobicoke%2F,那么你需要在wordpress中改变你的固定链接结构,如果链接包含自定义参数,可能还需要添加重写功能。https://codex.wordpress.org/Settings_Permalinks_Screen https://codex.wordpress.org/Rewrite_API/add_rewrite_rule
https://stackoverflow.com/questions/49263435
复制相似问题