2015-04-06 68 views
-1

嗨,先生们,女士们。我试图测试按钮,看它是否绑定到事件,但它不工作。我一直在这几个小时,无法找到答案。我正在寻找分离HTML和javsScript的代码。我是新来的,我非常感谢你的时间。当我点击按钮时,我无法使警报工作。测试一个简单的javascript按钮

var formId; 
 

 
formId = document.GetElementById("button"); 
 
function run(){ 
 
    
 
alert("Stack overflow"); 
 
    
 
} 
 

 

 
formId.addEventListener("submit", run, false);
<div id ="content"> 
 
    <div id ="title">Special Offers</div> 
 
    <div id="colors">Sign-up to receive personalized offers! 
 
    </div> 
 
     
 
    <fieldset> 
 
     <legend> Please enter your information</legend> 
 
     <form action="#" method="post" /> 
 
     <input type="text" /> 
 
      <label for ="button">add</label> 
 
     </form> 
 
       
 
     </fieldset> 
 
    
 
    <!--**************Button******--> 
 
    
 
    <button type="submit" id="button">submit</button> 
 
    
 
</div>

+2

变化'GetElementById'到'getElementById'。 – Xufox

+3

按钮没有'submit'事件,只有表单有该事件。你应该绑定到'click'事件。 – Barmar

+0

'

'标签应该在'
'之外,而不是在里面。 – Blazemonger

回答

1

尝试...

var formId = document.getElementById("button"); 

function run(){ 
    alert("Stack overflow"); 
} 

formId.addEventListener("click", run, false); 

当我使用.getElementById(拼写)和监听click事件。

小提琴:http://jsfiddle.net/rfornal/9duqfgL6/

0

你可以使用下面的代码:

<div id ="content"> 
    <div id ="title">Special Offers 
    </div> 
    <div id="colors">Sign-up to receive personalize offers! 
    </div>   
    <button type="submit" id="button" onclick="run()">submit</button> 
</div> 

和你的JS应该如下:

function run(){ 
    alert("stack overflow"); 
} 
+0

@virtualmason让我知道,如果这样的作品 –

+1

请不要邀请他使用内联JS,这是没有必要的,并没有帮助组织代码。 – blex

+2

如果他正在尝试学习更现代的'addEventListener'风格,请勿宣传内联处理程序。 – Barmar

0

form标签是自动关闭。它应该是getElementById。尝试click事件而不是submit事件。您的button不在form之内。当你有你的按钮时,你可以将submit事件监听器添加到你的表单中。

var formId = document.getElementById("button"); 
 
function run(){ 
 
    alert("Stack Overflow"); 
 
} 
 
formId.addEventListener("click", run, false);
<div id ="content"> 
 
    <div id ="title">Special Offers</div> 
 
    <div id="colors">Sign-up to receive personalized offers!</div> 
 
    <fieldset> 
 
    <legend> Please enter your information</legend> 
 
    <form action="#" method="post"> 
 
     <input type="text"/> 
 
     <label for="button">add</label> 
 
     <button type="submit" id="button">submit</button> 
 
    </form> 
 
    </fieldset> 
 
</div>

+0

或者,你需要把你的'形式'fieldset'之外,如果你希望你的按钮位于fieldset之外,在表单中包含'button'。 – Xufox

+0

我想感谢各位抽出宝贵的时间帮助您。我得到的代码工作,我花时间了解你先生们提到的一切。 – virtualmason