如何使用jQuery获取异步表单反馈?

时间:2013-08-02 16:59:36

标签: jquery forms asynchronous

我确信这可能是一个多余的问题,但我不知道如何以有道理的方式询问Google或SO.

如果我有表格:

<form action="process.php" method="post">
    <p><input type="text" name="number" id="num" /></p>
</form>

我想在一个范围内获得反馈:

<span id="warning">Too high!</span>

如果输入的数字太低或太高,我怎么能这样做而不必使用提交按钮?这可以在客户端完成而无需AJAX吗?

3 个答案:

答案 0 :(得分:1)

$('#num').change(function () {
  var $this = $(this);
  var $warn = $('#warning');
  if ($this.val() > 100) {
    $warn.text('Too high!');
  }
  else {
    $warn.text('');
  }
});

答案 1 :(得分:1)

我会将onkeypress事件用于反应性:

DEMO

$('#num').on('keypress',function () {
  var $warning = $('#warning');
  if (this.value > 100) {
    $warning.text('Too high!');
  }
  else {
    $warning.text('');
  }
});

答案 2 :(得分:0)

如果这是您的HTML:

<form id="form1" action="process.php" method="post">
<p><input type="text" name="number" id="num" /></p>
<input type="button" onclick="checkNumber()" />
</form>

然后这个JavaScript会这样做:

function checkNumber() {
    var number = document.getElementById('num');
    if (number > 40) {
        document.getElementById('form1').innerHTML += '<span id="warning">Too high!</span>';
    }
}