点击按钮运行Javascript
running Javascript on button click
我是Javascript的新手,所以我不确定我的代码是否工作,因为我不确定如何测试或运行它。我希望我的代码显示通过收集所有复选框创建的JSON。我没有在任何地方添加console.log
,因为我不确定它在哪里合适。我觉得我拥有所有的东西,但我不知道如何把所有的东西组合在一起。
预期输出应为:
{
"testpages" : [...data...],
"configs" : [...data...]
}
我的代码
<script type="text/javascript">
function grabSelected() {
var configs = [];
var testPages = [];
var selectedConfigs = document.getElementByClassName('.testpages').value;
var selectedTestPages = document.getElementByClassName('.configs').value;
for (var i = 0; i < selectedConfigs.length; i++) {
if (selectedConfigs[i].checked) {
configs.push(selectedConfigs[i])
}
}
for (var i = 0; i < selectedTestPages.length; i++) {
if (selectedTestPages[i].checked) {
testPages.push(selectedTestPages[i])
}
}
var jsonString = {"testpages" : testpages, "configs" : configs};
var testJson = JSON.stringify(jsonString);
}
</script>
<body class="wrap">
<form action="POST" >
<div class="testpages" id="left_col">
<input id="tp1" type="checkbox" value="1">Test Page 1<br>
...
...
<input id="tp30" type="checkbox" value="30">Test Page 30<br>
</div>
<div class="configs" id="right_col">
<input id="config_0" type="checkbox" value="Windows XP internet explorer 8">Windows XP
...
...
<input id="config_59" type="checkbox" value="OS X 10.9 Safari 7">OS X 10.9 Safari 7<br>
</div>
</form>
<input id="" type="submit" value="Submit" onclick="grabSelected();" />
</body>
<html>
在原始代码中发现的一些(琐碎的)错误:
- 使用了getElementByClassName而不是getElementsByClassName
- 在jsonString格式中使用了testpage而不是testpages
- 为父div使用类名testpages和configs,而不是输入元素
这是一个你可以使用的:
<html>
<script type="text/javascript">
function grabSelected() {
var configs = [];
var testPages = [];
var selectedConfigs = document.getElementsByClassName('testpages');
var selectedTestPages = document.getElementsByClassName('configs');
for (var i = 0; i < selectedConfigs.length; i++) {
if (selectedConfigs[i].checked) {
configs.push(selectedConfigs[i].value)
}
}
for (var i = 0; i < selectedTestPages.length; i++) {
if (selectedTestPages[i].checked) {
testPages.push(selectedTestPages[i].value)
}
}
var jsonString = {"testpages" : testPages, "configs" : configs};
var testJson = JSON.stringify(jsonString);
}
</script>
<body class="wrap">
<form action="POST" >
<div id="left_col">
<input class="testpages" id="tp1" type="checkbox" value="1">Test Page 1<br>
<input class="testpages" id="tp30" type="checkbox" value="30">Test Page 30<br>
</div>
<div id="right_col">
<input class="configs" id="config_0" type="checkbox" value="Windows XP internet explorer 8">Windows XP
<input class="configs" id="config_59" type="checkbox" value="OS X 10.9 Safari 7">OS X 10.9 Safari 7<br>
</div>
</form>
<input id="" type="submit" value="Submit" onclick="grabSelected();" />
</body>
<html>
我认为问题在于您试图返回类的值,而不是检查是否已检查。请尝试getElementByClassName(id).getElementsByTag('input'),而不是getElementByClassName().value。这将返回一个数组,您可以循环该数组并返回其值。
对SO应用程序中键入的答案格式表示歉意。
相关文章:
- Javascript运行php文件,然后下载文件
- JavaScript运行时是如何工作的
- Javascript运行Total保持添加
- JavaScript运行时事件循环现有技术
- 当出现javascript运行时错误时会发生什么
- 使用JavaScript运行脚本
- 在gwt HTMLPanel中使用JavaScript运行Google图表
- 在从HTML表单提交时从javascript运行php
- JavaScript运行时错误:完成此操作所需的数据尚不可用
- RoR最快的javascript运行时
- Windows 8应用程序正在运行,现在得到0x800a1391-JavaScript运行时错误:'WinJS&
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- JavaScript运行后,页面在右侧被切断
- JavaScript 运行时错误仅在本地计算机上
- JavaScript 引擎和 JavaScript 运行时环境有什么区别
- 如何从javascript运行java代码
- Javascript 运行时错误:“应用程序未定义”
- 从Javascript运行PHP文件来检查在线用户:表示未登录的用户是
- JavaScript运行时错误,未定义jQuery
- MVC4和日期选择器:“;0x800a01b6-JavaScript运行时错误:对象没有't支持属性或方法