循环遍历表的所有文本框并检查强制值

时间:2014-02-24 16:06:59

标签: jquery

我有一个包含3列和10行的表,其中包含文本字段。如果我将任何值添加到任何单元格中,相应行的第一列字段是必需的,如果没有文本,它将抛出错误消息,如“请在第1列添加值”,程序将暂停以更正输入。如何使用jQuery实现这一目标?

我的示例代码:

$(function() {$("#mySubmit").click(function(event) {

$('#myTable tr').each(function(event) {
    if ($(this).find("td:first").length > 0) {
        var firstColumn     = $(this).find("td input").eq(0).val(); 
        var secondColumn = $(this).find("td input").eq(1).val();
        if (typeof (secondColumn) != "undefined") {
                var lengthOfSecondColumn = secondColumn.length;
                var lengthOfFirstColumn = firstColumn.length;

                alert(lengthOfFirstColumn + ' ' + lengthOfSecondColumn )

                if (lengthOfSecondColumn > 0) {

                    if(lengthOfFirstColumn < 1){
                        alert('Please add value in first column');
                        event.preventDefault();
                    }               
                }
        }                                       
    }
});

    $.ajax({
    type : "POST",
    url : "updateURL",
    data : dataString,
    success : function(data) {
        if (data.checkingStatus == 0) {
            alert("updated");
        }

        else (data.checkingStatus == -1) {
            alert("...");
        }
    }
    });

});

我试着这样做。但它已执行并重定向到自定义错误处理页面。

1 个答案:

答案 0 :(得分:0)

试试这个:

$(function() {$("#mySubmit").click(function(event) {
var valid = true; // Add a variable

$('#myTable tr').each(function() { // remove 'event'
    if ($(this).find("td:first").length > 0) {
        var firstColumn     = $(this).find("td input").eq(0).val(); 
        var secondColumn = $(this).find("td input").eq(1).val();
        if (typeof (secondColumn) != "undefined") {
                var lengthOfSecondColumn = secondColumn.length;
                var lengthOfFirstColumn = firstColumn.length;

                alert(lengthOfFirstColumn + ' ' + lengthOfSecondColumn )

                if (lengthOfSecondColumn > 0) {

                    if(lengthOfFirstColumn < 1){
                        alert('Please add value in first column');
                        event.preventDefault();
                        valid = false; //set variable to false if there was a problem
                        return false; //exit the loop;
                    }               
                }
        }                                       
    }
});
    if(valid) { //Only if form is valid
        $.ajax({
        type : "POST",
        url : "updateURL",
        data : dataString,
        success : function(data) {
            if (data.checkingStatus == 0) {
                alert("updated");
            }

            else (data.checkingStatus == -1) {
                alert("...");
            }
        }
        });
    }
});