使用jQuery时,Textarea POST为NULL

时间:2014-04-23 14:48:39

标签: javascript php jquery html post

我正在向数据库保存大量信息,并使用jQuery警告成功或失败消息,然后清除表单,以便用户可以在不离开页面的情况下输入新的数据集。 当我使用jQuery脚本时,我的textarea发布了一个NULL值,但是当我不使用该脚本时,它的工作正常。表单中的所有其他输入都可以正常工作,将文本区域更改为输入类型=文本也可以。

<form name = "usemarkscheme" id = "usemarkscheme" method ="POST" action ="submitmarks.php">
<a few inputs here that all work>
<textarea name = "add" placeholder = "Enter additional comments here"></textarea>
</form>

这是jQuery文件:

$(document).ready(function () {
    $("input#submit").click(function () {
        $.post($("#usemarkscheme").attr("action"), $("#usemarkscheme: input").serializeArray(), function (data) {
            if (data === "This student has already received a mark for this mark scheme!") {
                alert("This student has already received a mark for this mark scheme!");
            } else {
                alert("Marks entered");
            }
        }
        //close $.post                
        );

        $("#usemarkscheme").submit(function () {
            return false;
        })

        //close onclick       function

        //clear form after every student has been marked
        $("#usemarkscheme").each(function () {
            this.reset();
        });
    });
});

错误消息效果很好

2 个答案:

答案 0 :(得分:0)

也许

$("#usemarkscheme: input").serializeArray()

仅获取输入字段。尝试添加textarea选择器。尝试使用

$("#usemarkscheme input, #usemarkscheme textarea").serializeArray()

甚至更好

$("#usemarkscheme").serializeArray()

答案 1 :(得分:0)

简单的问题是你使用$("#usemarkscheme: input"),这只会给你输入fealds而不是textarea。

如果我没错,你必须尝试$("#usemarkscheme: input, #usemarkscheme textarea")