带有保存和提交按钮的2列表单,我尝试禁用提交按钮,直到表单完成

时间:2015-01-07 19:53:13

标签: javascript php forms

我有一个2列形式,我尝试使用div和表构建,其中有一个保存和提交按钮,我试图用javascript禁用提交按钮,直到表单完成。是因为我有形式的DIV吗?

这是html:

<div style="float:left;  width:450px;">
<form class="form" name="parts" method="post" >

  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:35px;">&nbsp;</div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:187px;">SET PART #</div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:192px;">INSTALL DATE</div>

  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:35px;">1.</div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:187px;"><input type="text" id="part1"></div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:192px;"><input type="text" id="part1-install-date"></div>

  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:35px;">2.</div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:187px;"><input type="text" id="part2"></div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:192px;"><input type="text" id="part2-install-date"></div>

  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:35px;">3.</div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:187px;"><input type="text" id="part3"></div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:192px;"><input type="text" id="part3-install-date"></div>

  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:35px;">4.</div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:187px;"><input type="text" id="part4"></div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:192px;"><input type="text" id="part4-install-date"></div>

  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:35px;">5.</div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:187px;"><input type="text" id="part5"></div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:192px;"><input type="text" id="part5-install-date"></div>

  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:35px;">6.</div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:187px;"><input type="text" id="part6"></div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:192px;"><input type="text" id="part6-install-date"></div>

  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:35px;">7.</div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:187px;"><input type="text" id="part7"></div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:192px;"><input type="text" id="part7-install-date"></div>

  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:35px;">8.</div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:187px;"><input type="text" id="part8"></div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:192px;"><input type="text" id="part8-install-date"></div>

  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:35px;">9.</div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:187px;"><input type="text" id="part9"></div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:192px;"><input type="text" id="part9-install-date"></div>

  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:35px;">10.</div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:187px;"><input type="text" id="part10"></div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:192px;"><input type="text" id="part10-install-date"></div>

  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:35px;">&nbsp;</div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:187px;"><input type="submit" name="save" value="Save"></div>
  <div style="float:left; padding-right:7px; padding-bottom:7px;  width:192px;"><input class="send" id="register" type="submit" value="Send" disabled="disabled"></div>
</form>
</div>

这是javascript:

(function() {
$('form > input').keyup(function() {

    var empty = false;
    $('form > input').each(function() {
        if ($(this).val() == '') {
            empty = true;
        }
    });

    if (empty) {
        $('#register').attr('disabled', 'disabled'); 
    } else {
        $('#register').removeAttr('disabled'); 
    }
});
})()

1 个答案:

答案 0 :(得分:0)

选择器&#34;形式&gt;输入&#34;表示输入作为表单的第一级子项。

正如你所说的那样,因为输入是在div内部,因此表单的第二级子节点。

尝试形式&gt; div>输入或表单输入。