0

我想将数据添加到表格的选择性单元格中。我用 JavaScript 编写了这段代码。

var rowIndex = 10;
var colIndex = 5;
var dateTable = document.getElementById('timeTable');
dateTable.rows[rowIndex].cells[colIndex].innerHTML = "Su";

我想在 jQuery 中使用相同的概念:

$('input[name=add_button]').click(function(e) {
    var dateTable = document.getElementById('timeTable');
    var rowIndex = $('[name=days]').val();
    var colIndex = $('[name=times]').val();
    var text = $('input[name = text]').val();
    dateTable.rows[rowIndex].cells[colIndex].innerHTML = text;
    e.preventDefault();
});

我的问题是:preventDefault()方法应该阻止我的表单被提交。它不会阻止表单提交。如果我删除该 dateTable.rows[rowIndex].cells[colIndex].innerHTML = text;行,则不会提交表单。我认为这条特定的线路存在一些问题。请帮我整理一下。如果 jQuery 中有更好的选择,请告诉我。我将能够使用colIndexrowIndex找到单元格的位置。

谢谢

4

1 回答 1

1

试试这个:

return false;form tag喜欢

<form onsubmit="return false;" ......>

</form>

还要检查这些从 开始的索引0 or 1,如果这些是从 开始的,1那么你必须decrease it by 1在使用它之前,

dateTable.rows[rowIndex-1].cells[colIndex-1].innerHTML = text;

实际上,当您单击button它时,它将是preventdefault behavior,而不是其他元素的行为(form in your case)

所以,我认为不可能阻止你form在这里。

您可以使用的替代代码:

$('form#myForm').on('submit',function(e){
    e.preventDefault();
    var dateTable = document.getElementById('timeTable');
    var rowIndex = $('[name=days]').val();
    var colIndex = $('[name=times]').val();
    var text = $('input[name = text]').val();
    dateTable.rows[rowIndex].cells[colIndex].innerHTML = text;
    return false;
});
于 2013-04-08T05:14:42.477 回答