Javascript eventlistener在单击/提交时未启动

Javascript eventlistener在单击/提交时未启动,javascript,jquery,Javascript,Jquery,我的事件侦听器未启动。我在testRun.addEventListener行中放置了一个断点,但它从未到达断点。所以我认为这意味着函数永远不会执行。我似乎不明白为什么 我的html: <form> <input id="hdfs-test" type="radio" name="test-select" class="btn btn-default btn-lg">HDFS <input id="hive-test" type="radio" n

我的事件侦听器未启动。我在
testRun.addEventListener
行中放置了一个断点,但它从未到达断点。所以我认为这意味着函数永远不会执行。我似乎不明白为什么

我的html:

  <form>
    <input id="hdfs-test" type="radio" name="test-select" class="btn btn-default btn-lg">HDFS
    <input id="hive-test" type="radio" name="test-select" class="btn btn-default btn-lg">HIVE
    <input id="hdfs-hive-test" type="radio" name="test-select" class="btn btn-default btn-lg">BOTH

    <textarea id="event-textarea" rows="8" class="form-control" placeholder="Events..."></textarea>

    <input id="submit-test" type="submit" class="btn btn-default btn-lg" value="Submit">
  </form>

HDFS
蜂箱
二者都
JS:

$(文档).ready(函数(){
//数据描述了什么样的测试
var testData={
“时间戳”:“,
“蜂巢”:0,
“hdfs”:0,
//包含testData对象的列表
“信标”:[]
};
var selectedTest=document.querySelector('input[name=test-select]:checked');
var testRun=document.getElementById(“提交测试”);
testRun.addEventListener('submit',function(){
var testType=selectedTest.id;
如果(testType==“hdfs测试”){
testData[“hdfs”]=1;
testData[“配置单元”]=0;
}else if(testType==“配置单元测试”){
testData[“hdfs”]=0;
testData[“hive”]=1;
}else if(testType==“hdfs配置单元测试”){
testData[“hdfs”]=1;
testData[“hive”]=1;
}
var events=document.getElementById(“event textarea”).value;
//签入有效输入
var eventSource=events.replace(“],[”,“],,,[”);
//BeaconList允许用户提交-->[{beacon1},{beacon2},…],{beacon3},{beacon4},…]
var beaconLists=eventSource.split(“,,,”);
对于(变量i=0;i
尝试将其附加到表单,而不是按钮。

testRun=document.getElementById(“提交测试”)
这是按钮,而不是表单。您需要提交
表单
而不是
按钮本身。除非您只想测试点击

那你需要

testRun.addEventListener('click', function(){...});

尽管我仍然建议在
submit
上触发,以防用户点击
ENTER
而不是单击submit按钮。

非常确定您必须将事件附加到表单而不是按钮。如果我用“click”而不是“submit”,该怎么办?使用$(“#submit test”)。单击(函数(){})要提交表单,可以使用var
i=document.getElementById(“表单id”);i.addEventListener(“submit”,…)
?完全正确……因为您使用的是jQuery,所以我只需要使用
i.submit(function(){…})
。如果表单是在
窗口之后添加到DOM中的,那么使用
addEventListener
会更有帮助。onload
并且您希望确保它仍然启动。(各位,如果我的解释有误,请纠正我。)
testRun.addEventListener('click', function(){...});