基于输入值的 Jquery if 语句

Jquery if statement based on input values

本文关键字:Jquery if 语句 于输入 输入      更新时间:2023-09-26

我正在制作一个简单的表单,但我很难让它做我想做的事。在表单提交时,我需要它来检测某个类别的多个输入的值是否大于 0(因为只应选择一个)。这是表单的 html

      <form onsubmit="calcTime();">
  <table>
    <tr>
      <p>How long does the task take to perform?  (Choose one)</p></tr>
    <tr>
      <p>
        <input type="text" style="width: 3em;" id="seconds">&nbsp;  Seconds (Enter an integer 1-60)
        <input type="text" style="width: 3em;" id="minutes">&nbsp;  Minutes (Enter an integer 1-60)
      </p>
    </tr>
    <br>
    <tr>
      <p>How often do you perform the task? (Choose one)</p></tr>
    <tr>
      <p><input type="text" style="width: 3em;" id="day">&nbsp;x Per day&nbsp;
        <input type="text" style="width: 3em;" id="week">&nbsp;x Per week&nbsp;
        <input type="text" style="width: 3em;" id="month">&nbsp;x Per month&nbsp;
        <input type="text" style="width: 3em;" id="year">&nbsp;x Per year&nbsp;
      </p>
    </tr>
    <br>
    <tr>
      <p><input type="submit" value="Submit" id="submitButton"></p>
    </tr>
    <br>
    <tr>
      <p id="result"></p>
    </tr>
  </table>
</form>

到目前为止不起作用的jQuery函数是这个...

function calcTime() {
var seconds = $('#seconds');
var minutes = $('#minutes');
var perDay = $('#day');
var perWeek = $('#week');
var perMonth = $('#month');
var perYear = $('#year');
if ((seconds.value > 0) && (minutes.value > 0)) {
alert('Please only choose either seconds or minutes!');
return false;
  }
}

谢谢

使用 jquery 方法val检索元素值。

seconds.val()

如果你不使用jquery来选择元素,而是纯Javascript

var seconds = document.getElementById('seconds')

您将能够使用值属性seconds.value

Jquery select 返回的是 'it's own' 对象,而不是本机HTMLElement

使用 jQuery,您可以将 'if' 语句更改为:

if (seconds.val()> 0 &

& minutes.val()> 0)

有关 .val() 方法的更多信息:http://api.jquery.com/val/