jQuery-AJAX:focusout事件被触发两次

时间:2014-02-16 18:27:05

标签: jquery ajax

我有一个简单的HTML表单:

<form id="contactForm" method="post" action="./validateForm.php">

    <table>
      <tr>
        <td>Vorname</td>
        <td><input type="text" name="firstName" /></td>
      </tr>
      <tr>
        <td>Nachname</td>
        <td><input type="text" name="surname" /></td>
      </tr>
      <tr>
        <td>E-Mail</td>
        <td><input type="text" name="eMail" /></td>
      </tr>
      <tr>
        <td>Alter</td>
        <td><input type="text" name="age" /></td>
      </tr>
    </table>

  </form>

我有这个jQuery:

$(document).ready(function() {

    function validationResult(objData, strStatus, objXMLHttpRequest) {

      if('error' === objXMLHttpRequest.responseText)
        alert('error');
      else
        alert('success');

    }

    $('#contactForm input').focusout(function() {

      var strLeftField      = $(this).attr('name');
      var strLeftFieldValue = $('input [name=' + strLeftField + ']').val();

      $.ajax({ type: 'POST', url: './validateForm.php', data: strLeftField=strLeftFieldValue, async: true, cache: false, success: validationResult });

    });

  });

我想知道为什么.focusout()事件会引发两次。它必须与AJAX请求有关,因为如果我将它注释掉,它就不会激发两次。但为什么呢?

focusout()事件是否是正确的事件,以确定用户是否在表单中留下了输入字段?

如果这是相关的,我正在使用jquery-2.0.3.min.js。

提前感谢任何提示。

最好的问候。

0 个答案:

没有答案