使用div容器时,按钮单击事件不起作用

时间:2015-09-15 08:31:08

标签: javascript button onclick

我的网页上有一个简单的HTML按钮,其HTML如下所示:

<div id="submit1" style="float:left;cursor:pointer;" onclick="checkValidity();">
    <input type="button" value="Finish" class="finish">
</div>

当我在我的按钮上应用onclick="checkValidity();"时,它无法正常工作,但当我尝试使用输入按钮的容器div时,它开始工作。

当我在按钮中调用此函数时,我无法理解为什么它不起作用?任何人都可以对它有任何想法。

有趣的是,它也在输入按钮上的另一个网页上工作......!

2 个答案:

答案 0 :(得分:0)

首先,checkValidity是一个关键字。停止使用它。将其更改为CheckIfValid或类似的东西。

jsfiddle中的简单示例。 Check here

chck = function (obj)
{
    alert('hi: ' + obj.id);
    return true;
}

checkValidity是输入对象的事件,如果输入有有效数据,则返回true。所以,这里没有js事件的范围。

它适用于div,因为DIV不是输入元素。

如果您有任何问题,请告诉我。

答案 1 :(得分:-2)

您必须在表单标记内包围该输入标记。

<div id="submit1" style="float:left;cursor:pointer;" onclick="checkValidity();">
  <form>
    <input type="button" value="Finish" class="finish">
  </form>
</div>