什么是从html表单发送数据的纯javascript版本


what is the pure javascript version of sending data from html forms?

我目前使用jQuery从html表单发送数据,然后使用php将其存储在数据库中。这是我使用的代码:

HTML表单:

<form id="formpost" action="" method="post" onsubmit="return false">
<input type="text" id="text2" name="status" value="" class="form-control" placeholder="Question....?"/><br/>
<textarea id="text1" name="status2" value="" class="form-control" placeholder="Description....." rows="6"></textarea><br/>
<button id="postbutton" class="btn btn-danger">POST</button>
</form>

jQuery文件:

$ (document).ready(function() {
//mama code
$("button#postbutton").click(function() {
 var data = $("#formpost").serialize();
 
$.ajax({
type: "POST",
url: "data.php",
data: data,
success: function(data) {
	location.reload();
}
});
});
});
$ (document).ready(function() {
 $.ajax({
type: "POST",
url: "data2.php",
success: function(data) {
$("#statustext").append(data);
}
});
});

我有两个ajax请求,data.php将html表单输入发送到我的数据库中,data2.php在成功时检索该数据并附加一个空的htmldiv

我的问题是,我有一个可用的应用程序,但当我安装文本区域编辑器时,我的html表单中的内容没有存储到我的数据库中。因此,如果我使用干净的JavaScript,应用程序就会运行。任何使用干净javascript的代码都可以使用ajax调用从我的html表单发送数据。感谢

您实际上并不需要使用纯javascript。你在用什么"文本区域编辑器"?我相信你可能使用了一些javascript插件(可能是TinyMCE?),所以当它加载时,文本区域会被POST请求中没有提交的其他HTML填充。如果是这种情况,您可以从文本编辑器手动添加数据。例如在ajax调用中:

...
data: $("#formpost").serialize();
data.content = $("#text-editor).val(); 
...

///$("#text editor")-这是用于编辑器的texarea

您应该阅读正在使用的插件的文档,了解如何检索文本编辑器的内容。