2015-01-14 39 views
1

我是绝对新的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"的那个)时,自动隐藏的第二个按钮必须被点击。

我该怎么办?

谢谢!

+0

如果你使用jQuery,你可以使用['trigger()'](http://api.jquery.com/trigger/)。 –

+0

模拟点击?我不会那么做。 –

+0

为什么你需要点击隐藏的元素? –

回答

2

你可以把你的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">

1

代替模拟一个点击或甚至有一个第二个隐藏的提交按钮,你可以调用第二个函数但是吨是从第一个功能打:

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

function validateForm() { 
    // code here 
} 

功能调用其他功能比按钮触发其他点击事件更好的做法。

这种方式也是纯粹的javascript(没有jQuery),因为我不认为你的输入代码的实现你目前正在使用jQuery。

0

你的问题并不那么清楚,但你似乎并不需要第二个按钮,至少对于你所描述的内容。 你可以做什么来实现你的目标是在myTestFunction的主体中添加validateForm()的呼叫。

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

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

这是不漂亮,请注意,我这里假设myTestFunction没有按” t返回一些重要的东西,否则你不能丢弃return,正如我在这里所建议的,但除此之外它可能会做到这一点。

相关问题