首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >日期的JavaScript onChange不工作

日期的JavaScript onChange不工作
EN

Stack Overflow用户
提问于 2014-02-21 08:48:02
回答 2查看 247关注 0票数 0

我有下面的代码片段。

代码语言:javascript
复制
<tr>
            <td>
                <%= "MHC Date" %>
            </td>
            <td>
                <%= text_field :candidate_mhc_detail, :mhc_date, :class => 'txtinputs', :id => "mhc_date", :value => showdate(Date.today), :style => ["width:80px;"], :onChange => "return validate_date();" %>
                <a id="_mhc_date_link" onclick="DatePicker.toggleDatePicker('mhc_date')" class="demo_link"><img src="/images/calendar.png" width="20" height="20" /></a>
                <div id="_mhc_date_calendar" class="date_picker" style="display:none">
                </div>
            </td>
        </tr>

文本字段的值,即MHC默认设置为Date.today,如果该值被更改,我需要执行一个javascript警报,显示"MHC应该是今天的日期“,但我在onChange中执行此操作有困难

My JavaScript:

代码语言:javascript
复制
function validate_date(){
        if ($F('mhc_date') != Date.today)
        {
            alert("Date should not be greater than Today's Date")
        }
    }

任何帮助都是非常感谢的!谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-21 09:27:28

首先,我鼓励你不要使用内联Javascript。在可能的情况下尝试使用UJS,即,而不是添加一个onchange="blah“。尝试添加一个事件处理程序,在prototype中,我认为这是使用观察完成的。

其次,Javascript没有Date.today调用。所以这会出错。尝试构建它,因此,如果onchange函数已经被触发,那么就从只发出警报开始。然后通知文本框的值和当前值(new Date()),然后通知相等检查的结果。

票数 0
EN

Stack Overflow用户

发布于 2014-02-21 10:12:05

不要使用验证,而是定义DateField的范围,就像标签显示的那样,您正在使用rails:

代码语言:javascript
复制
<%= form_for @new_object do |f| %>
  <%= f.text_field :date_attribute, id: 'date_select_me'%>
<% end %>

<script>
  $('#date_select_me').datepicker({
    minDate: '-1Y',
    maxDate: new Date(),
  });
</script>

该方法使用jquery的DatePicker,在这种配置下,用户可以选择一年前到今天之间的日期。

来源:http://jqueryui.com/datepicker/#min-max

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21929468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档