Php 提交按钮不向mysql发送表单数据-jquery问题

Php 提交按钮不向mysql发送表单数据-jquery问题,php,javascript,jquery,mysql,Php,Javascript,Jquery,Mysql,下面是我的jquery验证脚本。当我单击submit按钮时,它不会将表单数据提交到mysql。提交按钮称为提交。如果我删除jquery验证脚本,它将提交给mysql,因此验证脚本存在问题 Jquery验证脚本: $(function() { function validate(id) { var enabled = ($("input[name='attendance" + id + "']:checked").val() == 'Yes'); if (e

下面是我的jquery验证脚本。当我单击submit按钮时,它不会将表单数据提交到mysql。提交按钮称为提交。如果我删除jquery验证脚本,它将提交给mysql,因此验证脚本存在问题

Jquery验证脚本:

$(function() {
    function validate(id) {
        var enabled = ($("input[name='attendance" + id + "']:checked").val() == 'Yes');
        if (enabled) {
            //Please select option is selected              
            if ($("#food" + id)[0].selectedIndex == 0 || $("#drink" + id)[0].selectedIndex == 0) {
                alert('Please select color');
                return false;
            }
        }
        return true;
    };

    $("input[name^='attendance']").click(function(e) {

        var id = this.name.replace('attendance', '');
        $("#food" + id + ", #drink" + id).prop("disabled", this.value == 'No');
        validate(id);
    });

    $("input:submit").click(function(event) {

        event.preventDefault();
        var retVal = false;
        $.each([1, 2], function(i, val) {
            retVal = (validate(val) || retVal);
        });
        if (retVal) {
            $('list').submit();
        }
    });
});
提交按钮:

<input type="submit" name="submit" id="submit" value="Submit" />
表格数据:

<form name="colour" action="" method="post" id="list">
提交中的选择器不正确。您正在按其id列表查找表单。您的选择器正在查找名为的标记

更新:如果它不会在IE中提交:
if (retVal) {
  document.getElementById('list').submit();
}
更新2: 不要将其绑定到提交按钮。单击,将其绑定到表单的。提交并返回true或false:

// Bind to the form's .submit()
$("#list").submit(function(event) {
    event.preventDefault();
    var retVal = false;
    $.each([1, 2], function(i, val) {
        retVal = (validate(val) || retVal);
    });
    // return the true/false to the submit action
    // false will prevent submission.
    return retVal;
});
提交中的选择器不正确。您正在按其id列表查找表单。您的选择器正在查找名为的标记

更新:如果它不会在IE中提交:
if (retVal) {
  document.getElementById('list').submit();
}
更新2: 不要将其绑定到提交按钮。单击,将其绑定到表单的。提交并返回true或false:

// Bind to the form's .submit()
$("#list").submit(function(event) {
    event.preventDefault();
    var retVal = false;
    $.each([1, 2], function(i, val) {
        retVal = (validate(val) || retVal);
    });
    // return the true/false to the submit action
    // false will prevent submission.
    return retVal;
});

…为什么要使用6个更新查询来更新一行?@MattiVirkkunen它工作得很好…这并不能回答为什么要这样做而不是只使用一个查询的问题。一个解决方案不好,只是因为它有效。“雅各伯认为这是对你的评论投下一票。您可以将代码量减少6倍。我并不担心这一点。当jquery验证被删除时,它会将我的所有表单信息提交给mysql,这样它就可以正常工作了,为什么要更改它呢!问题出在jquery上……为什么要使用6个更新查询来更新一行?@MattiVirkkunen它工作得很好……这并没有回答为什么要这样做而不是只使用一个查询的问题。一个解决方案不好,只是因为它有效。“雅各伯认为这是对你的评论投下一票。您可以将代码量减少6倍。我并不担心这一点。当jquery验证被删除时,它会将我的所有表单信息提交给mysql,这样它就可以正常工作了,为什么要更改它呢!问题出在jquery上。我已将其更改为您所说的内容,但它仍然没有提交。在internet explorer上,右侧有一个错误按钮。第3行“对象不支持此属性或方法”。当我删除时,我不会得到这个错误。有什么想法吗?@Jacob根据docs的说法,提交属性在IE中不会出现。你可以通过一个简单的javascript调用来实现。请参见上面。谢谢,但它仍然没有提交。得到相同的错误,但不同的第173行,我已经做了新的代码。此代码提交,但如果在单击提交时选择了“请选择”,则会发生验证错误,并重定向到我在php中请求的页面。因此,如果点击提交时选择了“请选择”,我需要阻止它进入php页面。我没有放弃,但这可能需要一个很长的答案,我现在没有时间回答。我已将其更改为您所说的内容,但它仍然没有提交。在internet explorer上,右侧有一个错误按钮。第3行“对象不支持此属性或方法”。当我删除时,我不会得到这个错误。有什么想法吗?@Jacob根据docs的说法,提交属性在IE中不会出现。你可以通过一个简单的javascript调用来实现。请参见上面。谢谢,但它仍然没有提交。得到相同的错误,但不同的第173行,我已经做了新的代码。此代码提交,但如果在单击提交时选择了“请选择”,则会发生验证错误,并重定向到我在php中请求的页面。因此,如果在点击提交时选择了“请选择”,我需要避免它进入php页面。我没有放弃,但可能需要一个很长的答案,我现在没有时间回答。