javascript - 在 url 中隐藏选中的无线电输入值(get 方法)
问题描述
如果在使用 GET 方法提交表单后我的 url 看起来像这样
website.com/page.html?radioVar=1&hiddenVar=12
- radioVar 是选中的单选按钮输入的值
- hiddenVar 是隐藏输入的值
有没有办法“隐藏”并radioVar=1
保留hiddenVar=12
?
所以基本上只有 URL 看起来像website.com/page.html?hiddenVar=2
知道 hiddenVar 是 radioVar 和另一个变量的数组。
解决方案
您应该通过 javascript 或 jQuery 手动提交。你应该使用 POST 方法。我会用 jQuery 来做。
在 html 中为提交按钮设置一个 id,如下所示:
<input type="submit" value="Submit" id="btnSubmit">
或者
<button type="submit" value="Submit" id="btnSubmit">Submit</button>
然后在脚本标签中:
<script>
$(document).ready(function(){
$('#btnSubmit').on('click',function(e){
//cancel the submit button default event first
e.preventDefault();
//Then prepare your form data manually
var formData = new FormData();
formData.append("hiddenVar", $('#hidden-element-id').val());
//Then Submit formData by jQuery Post Method
$.post('proper/url', formData, function(result){
alert(result);
});
});
});
</script>
推荐阅读
- php - PHP 生成器:即使调用了 break,如何始终清理资源?
- mysql - COUNT(*) 附近的语法不正确
- python - 基于正则表达式拆分列的模式
- c++ - QT label setText() 同时保留文本格式
- html - django中的提交按钮刷新页面而不保存
- java - Sonarqube - 使用 Lombok @data 删除这个未使用的私有字段 Code Smell
- bash - SED 的替换字符串被认为是单行字符串,而它包含换行符
- angular - 使用 Reactive Form Angular 在表单数组中添加新行
- java - 这些对象存储在内存中的什么位置?
- jquery - 插件 daterangepicker 不检查日期有效值