如何禁用NodeJS中的buttonexpression?

我已经呈现了下面的表单,想要在第一次点击时禁用submit button ,以防止用户连续点击它。 如果可能的话,我想提交button消息从

我受够了

请稍候…

以下是视图代码

  <!-- Send email and update user --> <form method="post" action="/delivery/chooseBoxSelectedEmailUpdate"> <input type="hidden" name="boxCommand" value="{{command}}"> <input type="hidden" name="boxComport" value="{{comport}}"> <input type="hidden" name="boxCubbyId" value="{{cubbyId}}"> <input type="hidden" name="boxId" value="{{boxId}}"> <input type="hidden" name="userHashtag" value="{{userHashtag}}"> <button class="btn-primary-full" type="submit"> <i class="fa fa-cube" aria-hidden="true"></i> &nbsp;I'm done </button> </form> 

以下是渲染代码

  res.render('delivery/chooseBoxSelectedOpened', { title: 'Layoverbox', helpButtonURL: '/help/help-dropPackage', helpButtonTitle: 'Help', boxComport: comport, boxCommand: command, cubbyId: rows[i].cubby_id, boxId: boxSelectedValue }); 

HTML

为了更容易findbutton的文本,我们用<span/>标签包装它。

 <button class="btn-primary-full" type="submit"> <i class="fa fa-cube" aria-hidden="true"></i> &nbsp;<span>I'm done</span> </button> 

JavaScript的

我假设你已经为你的表单写了一个onsubmit处理程序。

在点击提交button之前,在提出您的AJAX请求之前,禁用并设置提交button的文本。

一旦从AJAX请求中取回响应,在successcomplete处理程序中,启用并重置提交button的文本。

 $(function () { $(document).on('submit', 'form', function (e) { e.preventDefault(); // find and cache submit button within the form var button = $('button[type=submit]', this); // disable and set the text button.prop('disabled', true).find('span').text("Please wait..."); // make AJAX call $.ajax({ // etc success: function (data) { button.prop('disabled', false).find('span').text("I'm done"); } }) }); });