如何检查点击元素js的ID

时间:2010-05-22 08:58:41

标签: javascript ruby-on-rails javascript-events

如何检查点击元素的ID是否可以说是“目标”。

我想要做的是在点击文本字段时显示和隐藏评论表单,并在用户点击表单时隐藏它。问题是,如果用户单击“提交”按钮,表单将隐藏,并且不会发送任何内容。所以我必须检查提交按钮id是否与点击的元素匹配,在这种情况下不要隐藏它。

我现在在rails remote_form_for和onblur以及onfocus事件上使用ruby。

这是我正在展示的更大的形式。

<div id="bigArea" style="display:none">
<% remote_form_for @horses do |f|%>
<%= f.text_area :description, {:onBlur=>"{$(bigArea').hide();$('smallField').show();}"} %>
<%= f.submit "Submit"%>
<% end %>
</div>

这是每次点击它时隐藏的较小的表单字段。

<div id="smallField">
<%= text_field_tag 'sth',"Click to comment, {:onFocus=>"$('bigArea').show();$('smallField').hide();"} %>
</div>

我的问题是,当用户点击提交按钮时,我怎么能禁止隐藏表单?我想我应该检查哪个元素的id被点击了。如果它是提交按钮的ID,我不应该隐藏表格。或者也许还有其他方法可以做到这一切?

我非常感谢任何答案!

1 个答案:

答案 0 :(得分:1)

在javascript中,您可以使用元素上的id属性来读取其关联的ID,请看下面的示例。所以你可以得到属性,然后检查它的ID,在下面的例子中我们得到 this 的id,这将是id为foo的div。由于 this.id =='foo'将返回true,它会向我们显示提醒。

<div id = "foo" onclick="if(this.id == 'foo'){alert('Guess What everyone This div has an id of Foo')};">
    hello
</div>

查看您可以在此处获得的更多DOM属性: http://www.howtocreate.co.uk/tutorials/javascript/domstructure