【问题标题】:Retrieving and then validating date from a drop down box javascript从下拉框javascript检索然后验证日期
【发布时间】:2013-05-21 01:23:26
【问题描述】:

我有一个表单需要使用 DOM 方法和 javascript 来验证我们的 web 类。我已验证所有姓名、地​​址、电子邮件等字段。我已经使用模数算法验证了给定的信用卡号。我们的下一个任务是验证通过 html 文件上的标准选项框给出的给定日期(月、年)。 我了解如何检索年份(因为它将作为整数返回),但是,我对检索月份并将其转换为 int 的最有效方法感到好奇。 月份是标准格式:

<label for="month">Month:</label>
                <select id="month"  name="month" disabled="true">
                    <option value="0">January</option>
                    <option value="1">Febuary</option>
                    <option value="2">March</option>
                    <option value="3">April</option>
                    <option value="4">May</option>
                    <option value="5">June</option>
                    <option value="6">July</option>
                    <option value="7">August</option>
                    <option value="8">September</option>
                    <option value="9">October</option>
                    <option value="10">November</option>
                    <option value="11">December</option>
                </select>

很容易将月份作为字符串获取,但是是否有某种方法可以直接使用 document.getElementById('month') 获取数字,但以某种方式使用选项值 +1 对其进行标记,以便直接返回 int?还是我必须在函数中长期执行, 即

一月 = 1; 二月=2; 等等?

感谢您的帮助。

【问题讨论】:

  • 为什么不把它们的值设置得高一点?
  • 是的,但我们不允许对源 html 进行任何更改。但是,我想我在问如何以数字形式检索它们的值。我不确定你是否可以,如果可以,所涉及的语法。

标签: javascript


【解决方案1】:

您可以调用parseInt 函数。像这样:

// find your selected option
var monthInteger = parseInt(yourSelectedValue) + 1;
// aka Value of "0" gets parsed to 0, then you can add 1.

【讨论】:

    【解决方案2】:

    如果你这样做:

    (document.getElementById('month').value * 1.0) + 1
    

    这应该以整数值返回月份。我已经完成了* 1.0,但你可以parseInt。只需确保 1+1 = 2(不是 11)!

    【讨论】:

    • 谢谢,我以为会很容易,但是我们初学者对自己很不确定!
    猜你喜欢
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多