我想将数据添加到表的选择单元格中。我用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中有更好的选项,请告诉我。我将能够使用colIndex
和rowIndex
来查找单元格的位置。
由于
答案 0 :(得分: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
时,它会prevent
default 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;
});