阻止在jQuery中提交表单

时间:2013-04-08 04:44:46

标签: jquery

我想将数据添加到表的选择单元格中。我用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来查找单元格的位置。

由于

1 个答案:

答案 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;
});