Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.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通过单击一个按钮运行4个单独的表单提交函数_Javascript_Html_Forms_Onclick_Submit - Fatal编程技术网

使用Javascript通过单击一个按钮运行4个单独的表单提交函数

使用Javascript通过单击一个按钮运行4个单独的表单提交函数,javascript,html,forms,onclick,submit,Javascript,Html,Forms,Onclick,Submit,我目前正在尝试制作一个页面,允许用户从单个字段搜索多个知识库 目前,我已经能够构建这个工具,这样单击相应的按钮将搜索指定的工具,但我正试图获得一个按钮来搜索所有4个 我被卡住的地方是绑定到All按钮的功能。当我单击它时,它似乎只是在运行组中的最后一个功能,而不是打开包含所有4个结果的4个浏览器选项卡 我附加了一个JSFIDLE,以防我的解释不好 注意:这个页面并不漂亮,因为我在添加任何CSS之前试图让它工作。我真的需要JS的建议。我还是一个JS新手,所以如果有人能提供一个相当简单的解决方案,那将

我目前正在尝试制作一个页面,允许用户从单个字段搜索多个知识库

目前,我已经能够构建这个工具,这样单击相应的按钮将搜索指定的工具,但我正试图获得一个按钮来搜索所有4个

我被卡住的地方是绑定到All按钮的功能。当我单击它时,它似乎只是在运行组中的最后一个功能,而不是打开包含所有4个结果的4个浏览器选项卡

我附加了一个JSFIDLE,以防我的解释不好

注意:这个页面并不漂亮,因为我在添加任何CSS之前试图让它工作。我真的需要JS的建议。我还是一个JS新手,所以如果有人能提供一个相当简单的解决方案,那将是最理想的


超级搜索提琴:

这只是根据您的需要给出一个如何工作的想法。我假设所有搜索都返回一个布尔值。所以代码应该是这样的:

function doAll() {
  var msg = ["google","payroll","inquira","sdfc"]
  var retvalue = [googleSearch(),payrollSearch(),inquiraSearch(),sfdcSearch()];
  for (var i = 0; i < retvalue.length; i++){
    if(retvalue[i] == false){
      console.log(msg[i]+" search returned false");
    }
  }
}
函数doAll(){
var msg=[“谷歌”、“工资单”、“查询”、“sdfc”]
var retvalue=[googleSearch()、payrollSearch()、InquirraSearch()、sfdcSearch()];
对于(var i=0;i
它将首先执行所有搜索,并在完成后显示哪些搜索失败,但您可以根据需要更改该功能

希望能有帮助

更新/替代(几乎相同的代码):

函数doAll(){
var msg=[“谷歌”、“工资单”、“查询”、“sdfc”]
var retvalue1=谷歌搜索();
var retvalue2=payrollSearch();
var retvalue3=查询搜索();
var retvalue4=sfdcSearch();
var retvalue=[retvalue1,retvalue2,retvalue3,retvalue4];
//var retvalue=[googleSearch()、payrollSearch()、InquirraSearch()、sfdcSearch()];
对于(var i=0;i
一个问题:在doAll()中,如果其中一个搜索失败,它应该停止搜索并返回值,还是应该转到下一个?它应该转到下一个。基本上,我希望它显示任何搜索结果,即使它们是空白的。公平地说,其中的链接是通用的,因此其中3个不起作用,但这只是因为真正的链接是企业内部的。然后,您可能希望在每次搜索后删除
return retvalue
。因为,假设GoogleSearch()失败,那么它只会退出函数而不进行任何其他搜索。@user5842323如果它对您有帮助并且您能够找到解决问题的方法,请接受答案或将其标记为有用。谢谢您的帮助。我担心这不起作用。那么现在发生了什么?我实际上得到了一个较小的结果。当我点击全部时,只有一个页面像以前一样打开;但是,随后单击相同按钮只会产生相同搜索的新实例。在该搜索函数之前出现的其他3个搜索函数从未运行过……或者似乎没有运行过。不如尝试一下,看看它是否有效,而不是将其作为
retvalue
数组,为每个搜索声明一个新的retvalue,如:
var retvalue1=googleSearch()
var retvalue2=payrollSearch()
等等。我会更新答案,看看是否有效。
function doAll() {
  var msg = ["google","payroll","inquira","sdfc"]
  var retvalue1 = googleSearch();
  var retvalue2 = payrollSearch();
  var retvalue3 = inquiraSearch();
  var retvalue4 = sfdcSearch();
  var retvalue = [retvalue1,retvalue2,retvalue3,retvalue4];
  //var retvalue = [googleSearch(),payrollSearch(),inquiraSearch(),sfdcSearch()];
  for (var i = 0; i < retvalue.length; i++){
    if(retvalue[i] == false){
      console.log(msg[i]+" search returned false");
    }
  }
}