Fieldset可防止读取值输入元素

时间:2012-11-14 09:23:58

标签: jquery html

以下情况正常(JSP文件):

<p class="FormInputElement">
        <label for="description">Description</label>
        <input type="text" class="description" id="description"/><br />
</p>
<button class="Button75" type="submit" id= "editWidget" alt="Edit widget">
        <img src="/tis/img/icons/tick.png">
                Save
</button>

在我的Servlet中,一个.JS文件,描述值可以这样读:

$(function() {
    $("#editWidget").click(function(e){
        var description = $(this).parent().find('.description').val();

但是,如果我在按钮周围放置<fieldset>标签,则说明始终为“”。 servlet无法再读取该值。这怎么可能?使用字段集时会发生什么变化?

提前致谢!

1 个答案:

答案 0 :(得分:3)

您的原始标记结构是

  • DIV (或任何其他容器)
      • LABEL
      • INPUT#描述
    • BUTTON#editWidget

此处$(this).parent()将转到DIV,.find()将从那里开始工作,找到预期的元素。

使用<fieldset>,标记结构将更改为

  • DIV
      • LABEL
      • INPUT#描述
    • FIELDSET
      • BUTTON#editWidget

此处$(this).parent()将转到FIELDSET,.find()将找不到任何内容。

解决方案:请勿使用.parent(),请使用.closest("div")