我可以捕获一个类的提交事件

时间:2017-05-09 13:39:29

标签: javascript jquery

我正在网上打猎,我找不到直接的答案。我有很多表格。我不是要为它们分配唯一ID,而是要捕获import vincent vincent.core.initialize_notebook() geographic_data = [{ "name": "states", "url": "https://raw.githubusercontent.com/wrobstory/vincent_map_data/master/us_states.topo.json", "feature": "us_states.geo" }] vis = vincent.Map( geo_data = geographic_data, scale = 1000, projection = "albersUsa" ) vis.display() 事件并从submit中取出id。但我无法捕获this事件。

现在我有:

submit

,表单代码如下:

$('#trainingRecords tr td form').on('submit', function(e) {
  alert('here'); // doesn't fire

  e.preventDefault();
  if (confirm("You're about to delete this training record. Sure?")) {
    $(this).submit();
  }
  return;
});

为什么我没有捕获提交事件? 我错过了什么?

编辑添加:我尝试在提交按钮中添加一个on('click')处理程序。这也行不通。表单提交,但函数没有被触发。

2 个答案:

答案 0 :(得分:2)

也许就像这样

$('form').on('submit', function(e){
  //prevent form submission
  e.preventDefault();
  var id = this.id;
});

答案 1 :(得分:0)

小学生吼叫。我将事件监听器附加到DOM对象,然后然后创建DOM对象。我将事件监听器包装在一个doc ready块中,一切都很顺利。当然除了使用提交事件然后解雇它,创建一个无限循环。我把它改为点击。

所以这个:

$('#trainingRecords tr td form').on('submit', function(e) {
  alert('here'); // doesn't fire

  e.preventDefault();
  if (confirm("You're about to delete this training record. Sure?")) {
    $(this).submit();
  }
  return;
});

成了这个:

$(function() {    
    $('.trainingDelete').on('click', function(e) {
        e.preventDefault();
        if(confirm("You're about to delete this training record. Sure?")) {
            $(this).submit();
        }
        return;
    });
});

所有这一切。