Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.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_Php_Html_Webpage - Fatal编程技术网

Javascript 如何仅使用表单上的一个提交按钮执行两个不同的操作

Javascript 如何仅使用表单上的一个提交按钮执行两个不同的操作,javascript,php,html,webpage,Javascript,Php,Html,Webpage,我有一个提交按钮,用于登录我的PHP/MySQL系统。但是,我希望能够登录并同时获取凭据,并在单击按钮时将其存储在indexedDB中。是否有任何方法可以同时实现两个操作。到目前为止,如果我包含用于提交到indexedDB的javascript代码,登录将不起作用,如果我删除代码,登录将起作用。您可以做的是让表单将您带到第一页,然后使用发送到表单的所有数据执行这两个操作 使用简单的HTML/PHP表单,这很简单。使用action=Submit.PHP将表单提交到新的PHP页面。然后在此页面上调用

我有一个提交按钮,用于登录我的PHP/MySQL系统。但是,我希望能够登录并同时获取凭据,并在单击按钮时将其存储在indexedDB中。是否有任何方法可以同时实现两个操作。到目前为止,如果我包含用于提交到indexedDB的javascript代码,登录将不起作用,如果我删除代码,登录将起作用。

您可以做的是让表单将您带到第一页,然后使用发送到表单的所有数据执行这两个操作

使用简单的HTML/PHP表单,这很简单。使用action=Submit.PHP将表单提交到新的PHP页面。然后在此页面上调用indexedDB,并回显表单的副本,完成数据POST或GET,但将登录页面作为NewAction,然后回显一个`标记,如下所示:

echo "<script>document.getElementById('myForm').submit();</script>";
然后它将通过您的登录页面登录。

用两个分隔

onclick="doSomething();doSomethingElse();"
你可以走了

如果要在登录用户之前在IndexedDB中保存数据:

您可以通过在Submit上调用javascript函数来实现这一点。在该函数中,您可以点击GET/POST URL将数据保存在索引数据库中

或者,如果您希望在服务器端执行此任务,则执行此任务的一种方法是:在成功登录或验证用户凭据时,可以调用函数将数据保存在indexedDB中。此函数可以是同步或异步的。

onclick=doSomething


可能是@David R的副本,我希望有一个提交按钮执行两个操作,而不是在同一个表单上有两个按钮是的,有:为此编写正确的代码。由于你没有分享你的尝试,人们只能猜测你错在哪里。毕竟:这与PHP有什么关系?在HTML标记中直接使用onclick并不是很好的做法。相反,使用纯JS实现将该处理程序绑定到相应的标记。请对该代码添加一些解释,以便其他人可以从中学习。谢谢你,你的回答在解决我的问题方面帮了我很多。成功登录后,我提取了凭据,然后使用javascript函数将其保存在indexedDB中
function doSomething(form){
// do something 
// do something else
// Finally submit the form
form.submit();
return true;
}