我想在人们开始在文本框中输入时发出警报。它将返回"数据保存:" +我的msg在test.php文件夹中。
$("#textbox").on('change keyup paste', function() {
$.ajax({
method: "POST",
url: "test.php",
data: { content: $("#textbox").val() }
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
});
我尝试过更改"方法"到"键入"。 使用.serialize()。 使用成功:功能
我不确定问题是什么。谢谢!
编辑: 添加了错误代码。到目前为止,控制台上没有错误消息。
$.ajax({
method: "POST",
url: "test.php",
data: { content: $("#textbox").val() }
})
error: function (request, error) {
alert("An error occurred");
},
success: function (response) {
if (response == 'OK') {
$("#diary").val()
} else {
alert("An error occurred");
}
答案 0 :(得分:0)
您的评论会收到以下错误:
$ .ajax不是HTMLTextAreaElement的函数。 (loggedinpage.php:92)位于HTMLTextAreaElement.q.handle的HTMLTextAreaElement.dispatch(jquery-3.1.1.slim.min.js:3)(jquery-3.1.1.slim.min.js:3)
错误告诉您代码无法在任何地方找到$ .ajax()函数以执行它。
同时,该消息消除了您使用jQuery Slim的事实。这个库的简化版本不包括$ .ajax()函数等。您需要使用完整版的jQuery。
最新(或最近的)发行说明中的详细信息(在“Slim build”部分中):https://blog.jquery.com/2017/03/20/jquery-3-2-1-now-available/
作为旁注,我很惊讶您希望每次用户在文本框中键入字符时都显示警报。我预测这会很快让用户烦恼。也许只是在附近的div中显示一条消息(不会窃取焦点并阻止他们打字)会更好。我还怀疑每次输入字符时是否真的有必要将数据保存到服务器?如果用户打字很多,它将触发几十个ajax请求。你加入“keyup”就是原因所在。也许重新考虑一下你希望它如何工作,以及为什么。