当用户点击另一个显示的输入标签时,如何自动点击隐藏的提交输入标签?

How can automatically click on an hidden submint input tag when the user click on another shown input tag?

我完全是 JavaScript 的新手,我遇到了以下问题。

出于某种原因,我在网页中有 2 个 input 标签 type=submit,这些:

<input type="submit" onclick="return myTestFunction();" value="Submit" id="submitEventButton">

<input id="submitButton" type="submit" style="display:none" onclick="return validateForm();" value="Submit" name="action:projectCreationAction">

如您所见,第二个已通过 style="display:none"

隐藏

点击第一个我可以进入myTestFunction() JavaScript方法(实际上只是执行警报)。

我需要做以下事情:当用户点击第一个按钮(具有 id="submitEventButton" 的按钮)时,必须自动点击隐藏的第二个按钮。

我该怎么做?

谢谢!

您可以在 myTestFunction 中放置以下内容:

$('#submitButton').trigger("click");

下面是您可以 运行 检查一下的片段:

function myTestFunction(){
  alert('hi from submit');
  $("#submitButton").trigger("click")  ;
}

function validateForm(){
  alert('hi from validate form');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="submit" onclick="return myTestFunction();" value="Submit" id="submitEventButton">

<input id="submitButton" type="submit" style="display:none" onclick="return validateForm();" value="Submit" name="action:projectCreationAction">

而不是模拟点击,甚至根本没有第二个隐藏的提交按钮,您可以从第一个函数调用第二个按钮点击的函数:

function myTestFunction() {
    // code here with alert
    validateForm();
}

function validateForm() {
    // code here
}

函数调用其他函数比按钮触发其他点击事件更好。

这种方式也是纯粹的 javascript(没有 jquery),因为我不认为您当前使用的输入代码的实现 jquery。

你的问题不是很清楚,但看起来你并不真的需要第二个按钮,至少对于你所描述的内容。 你可以做些什么来实现你所追求的是在 myTestFunction.

的正文中添加对 validateForm() 的调用

如果你因为某些原因不想改变功能,你也可以像这样改变第一个按钮:

<input type="submit" onclick="myTestFunction();validateForm();" value="Submit" id="submitEventButton">

它并不漂亮,请注意,我在这里假设 myTestFunction 没有 return 重要的东西,否则你不能像我在这里建议的那样丢弃 return,但除此之外,它可能会起到作用。