JavaScript 从表单元素处理复选框创建 URL
javascript create url from form elements handling checkboxes
所以我一直在使用这个通用代码从表单元素创建一个 URL
function submiturl() {
url="Search.do?call=JS";
var elem = document.getElementById('searchInput').elements;
for(var i = 0; i < elem.length; i++) {
url = url + "&" + escape(elem[i].name) + "=" + escape(elem[i].value);
}
url = url.substring(0,(url.length-1));
alert(url);
}
但是它不能正确处理复选框 - 如果选中复选框,我只想添加到 URL。 所以如果你有这个html
<html>
<body>
<form name="searchInput" id ="searchInput">
<input name="first" type="checkbox" value="123"/>One two three
<input name="second" type="checkbox" value="456"/>Four five six
<button type="button" onClick="submiturl();">Submit</button>
</form>
</body>
</html>
它将使用两个复选框的值创建 URL,无论它们是否被选中。
那么我如何修改我的 javascript 以检查它是否是一个复选框并且被选中了呢?
谢谢!
在你的 for 循环中,这样做:
if (elem[i].type != "checkbox" || elem[i].checked)
url = url + ...
function submiturl() {
var url="Search.do?call=JS",
els = document.getElementById("searchInput").elements
;
for(var el, i = 0, n = els.length; i < n; i++) {
el = els[i];
if (el.checked || el.type !== "checkbox") {
url += "&" + encodeURIComponent(el.name) +
"=" + encodeURIComponent(el.value)
;
}
}
alert(url);
}
它是一个复选框吗?
typeof elem[i].attributes['type'] != 'undefined' &&
elem[i].attributes['type'].value == 'checkbox'
检查了吗?
typeof elem[i].attributes['checked'] != 'undefined' &&
elem[i].attributes['checked'].value == 'checked'
相关文章:
- 如何创建php函数或任何脚本/jquery Javascript,使我能够获取与复选框关联的值并添加它们
- 动态创建唯一的复选框
- 如何创建只允许用户在选中前一个复选框的情况下选择复选框的复选框验证
- 如何在 Angular JS 中从关联数组创建多个复选框
- 单击或取消选中复选框时,如何创建弹出的自定义窗口
- 基于所选下拉列表值创建动态复选框
- “动态创建的表”上的复选框(每行最多只能选择1个)
- 函数更改不适用于动态创建的表的复选框
- 如何创建一个新的<李>带有复选框或<a>在里面
- 在react中切换动态创建的复选框
- 在服务器上创建一个复选框,使用 javascript 处理函数
- jQuery .change() 方法不适用于动态创建的复选框
- 如何创建至少 1 个框处于活动状态的复选框列表
- 为选中的每个复选框创建隐藏输入
- 从复选框创建具有复杂变量的对象
- JavaScript 从表单元素处理复选框创建 URL
- 动态复选框创建以在单击时运行函数
- 如何使用输入复选框创建/更新数组
- Joomla-使用ajax从复选框创建会话变量
- 无法使用 jquery AJAX PHP 为复选框创建数组