Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使代码等待提交表单_Javascript_Asp.net_Onclientclick - Fatal编程技术网

Javascript 如何使代码等待提交表单

Javascript 如何使代码等待提交表单,javascript,asp.net,onclientclick,Javascript,Asp.net,Onclientclick,在我的代码中,我有一个asp按钮,它有如下OnClientClick事件 OnClientClick="return validateAndSend();" function validateAndSend() { //some processing postOnFacebook(); return validateResult; } 这个函数调用另一个函数,在facebook上发布消息,然后在调用之后返回一个类似这样的布尔值 OnClientClick="return

在我的代码中,我有一个asp按钮,它有如下OnClientClick事件

OnClientClick="return validateAndSend();"
function validateAndSend()
{
   //some processing

   postOnFacebook();

   return validateResult;
}
这个函数调用另一个函数,在facebook上发布消息,然后在调用之后返回一个类似这样的布尔值

OnClientClick="return validateAndSend();"
function validateAndSend()
{
   //some processing

   postOnFacebook();

   return validateResult;
}
现在的问题是,当我点击这个按钮时,它并没有执行postOnFacebook函数并返回validateResult,这使得我的页面被发回

我希望它首先完全运行postOnFacebook函数并等待其完成,然后返回validateResult

然而,当我把断点放在firebug上的postOnFacebook调用线上时,函数被正确调用


我不明白为什么会发生这种情况,知道吗?

这很可能是你的postOnFacebook功能有问题。它可能有未正确处理的Ajax,这就是我所说的检查它的意思。

可能是因为postOnFacebook发出了Ajax请求。看一看,了解异步和同步代码之间的区别,以及如何使用它。有人能告诉我为什么会有否决票吗?考虑到这些信息,人们可能只能说这些了。。因为没有给出函数代码!!我想,试图帮助别人并不重要!我们是这里的程序员,不是不用代码就能回答问题的魔术师!!好吧,添加一条评论需要50%的声誉,而目前我还没有。不管怎样,看到人们在stackoverflow这样一个好的平台上投下真正的帮助票,我感到很难过!!是的,我知道代表评论的限制,但它仍然应该是一个评论。否决票是为了让你知道你需要改进你的答案。然而,令人遗憾的是,落选的选民没有给出一些建设性的反馈。但不要放弃,从中学习=鉴于代表人数的限制,我认为没有什么可以从中学习的。不要认为我可以做或可以做不同的限制存在。不管怎样,谁在乎这种行为,萝莉否决了它。为什么?因为在我投票的时候,你基本上是说你的代码中一定有问题,看看吧。这有什么帮助?OP已经知道有问题,否则他们不会问。即使你现在的答案似乎也不是很有用。您所说的未正确处理的Ajax是什么意思?OP需要做什么才能正确处理它?如果你还不能发表评论,那就等到你能发表评论时再说。我完全同意没有足够的信息来解决这个问题,这就是为什么不存在答案的原因。