将提交的表单数据写入数据库后调用javascript函数

将提交的表单数据写入数据库后调用javascript函数,javascript,submit,form-submit,onsubmit,Javascript,Submit,Form Submit,Onsubmit,我的问题可能看起来很尴尬。但我非常需要答案。假设表单提交方式如下: <input name="button2" type="submit" class="test" id="button2" value="submit" onclick="checkSubmitStatus();"/> 当调用checkSubmitStatus函数时,表单尚未提交,因此表单数据尚未到达服务器端的数据库中。我怎样才能让它们执行,反之亦然?我的意思是,首先,表单提交并将其数据插入服务器

我的问题可能看起来很尴尬。但我非常需要答案。假设表单提交方式如下:

<input name="button2" type="submit" class="test" id="button2" value="submit"
       onclick="checkSubmitStatus();"/>


当调用checkSubmitStatus函数时,表单尚未提交,因此表单数据尚未到达服务器端的数据库中。我怎样才能让它们执行,反之亦然?我的意思是,首先,表单提交并将其数据插入服务器数据库,然后调用javascript函数。

我认为您希望向用户提供一些关于数据插入是否成功的反馈,对吗? 如果是这样,我建议你采取不同的方式。例如:

您的标记:

<form id="frm-post" method="post">
<input name="foo" value="bar" type="text" />
<button type="button" id="btn-submit">Submit</button>
}))

考虑到您将调用的页面将只返回您希望向用户显示的消息


我还没有测试代码,但我认为它会让你走上正确的道路

我建议使用一个称为“onclick”的中间函数,并使用该函数在提交表单时创建回调,然后提交传入回调的表单。签出此堆栈回答:非常感谢。我认为代码中接收到的数据必须返回一条显示成功或失败的消息。但是dataReceived函数是如何实现的,在哪里实现的呢@hugo Ferreira和我想调用一些函数,比如window.opener.location.reload();重新加载母版。我应该把这个放在哪里@hugo Ferreira对于第一个问题,dataReceived函数是一个匿名函数,在客户端您无需做更多的事情。在服务器端,您必须创建一个页面来接收帖子、验证帖子、保存在数据库中并返回一个文本以显示给用户。对于第二个问题,您可以在警报()后使用“window.location.reload()”重新加载页面。但是,如果您想在ajax调用之后刷新页面。为什么在没有ajax的情况下你不能正常发表文章?这对你来说会更容易。保持复杂的编程风格,以方便您成为专家之后使用;)如果你喜欢我的答案,请投“接受”的票谢谢
$("#btn-submit").click(function(){

var objData = {
    type        : 'post' ,
    url         : 'your url' ,
    data        : $('#frm-post').serialize(),
    dataType    : 'text' ,
    success     : function ( dataReceived ) {
        alert(dataReceived)
    }
}

$.ajax(objData);