javascript - 表单操作不接受获取变量
问题描述
我有一个表单元素,我使用以下代码更改其操作
HTML:
<form action='#' id='EventsBlockForm'>
<select id='artikler' onchange='getUrl(this)'>
<option disabled selected>-- Velg artikkel</option>
<option value='/?id=198405547&Article=1'>Article 1</option>
</select>
<button type='submit'>Go to article</button>
<form>
JS:
function getUrl(input) {
let form = document.getElementById("EventsBlockForm");
form.action = input.value;
}
javascript 有效,它确实将操作更改为正确的值,但是当我单击提交按钮时,它会将我发送到/?id=198405547
而不是发送到/?id=198405547&Article=1
. 有没有办法在操作中获取第二个 GET 变量。如果我使用a
元素而不是按钮,这可以正常工作。
解决方案
你可以这样做
window.addEventListener("load",function() {
document.getElementById("artikler").addEventListener("change",function() {
location = "/?"+this.value
})
})
<form action='#' id='EventsBlockForm'>
<select id='artikler'>
<option disabled selected>-- Velg artikkel</option>
<option value='id=198405547&Article=1'>Article 1</option>
</select>
<form>
或者
window.addEventListener("load",function() {
document.getElementById("EventsBlockForm").addEventListener("submit",function(e) {
e.preventDefault();
var val = document.getElementById("artikler").value;
if (val) location = "/?"+val;
})
})
<form action='#' id='EventsBlockForm'>
<select id='artikler'>
<option disabled selected>-- Velg artikkel</option>
<option value='id=198405547&Article=1'>Article 1</option>
</select>
<button type='submit'>Go to article</button>
<form>
推荐阅读
- scala - Scala中私有构造函数的实际用法是什么
- flutter - 为什么我在尝试使用 Google 登录时收到 403 错误?
- python - 如何在 Python 脚本(Flask 服务器)中保存 dlib.get_frontal_face_detector() 的输出(dlib.rectangles)?
- c# - 更新列表更改的项目
- vue.js - 尝试将表格插入羽毛笔编辑器时,出现错误“[Parchment] 无法创建表格印迹”
- kubernetes - Halyard:将更改部署到 Spinnaker
- java - Java对象的语言中性和小尺寸序列化
- python - PermissionError: [Errno 13] 当我使用 shutil.copy() 将 csv 文件从一个文件夹复制到另一个文件夹时,权限被拒绝
- python - django 我想限制用户类型的页面
- crystal-reports - 如果一条或多条记录包含特定数据,则在 Crystal Report 中显示对象