2012-01-27 25 views
0

感谢所有关于javascript和比较日期的其他SO问题,我能够想出适合我的情况的东西。现在,如果输入的日期超过30天,我只需要清除输入字段。JavaScript会检查输入的日期是否超过30天,如果有,清除输入字段

function ChngStatusEffective(obj) 
{ 
    p=/(\d{1,2})\/(\d{1,2})\/(\d{1,4})/; 
    if (!obj.value.match(p)) return; 
    num=new Array(); 
    num=obj.value.match(p); 
    if (num[1].length == 1) num[1]="0" + num[1]; 
    if (num[2].length == 1) num[2]="0" + num[2]; 
    if (num[3].length == 1) num[3]="200" + num[3]; 
    if (num[3].length == 2) num[3]="20" + num[3]; 
    strValue= num[1] + "/" + num[2] + "/" + num[3]; 

    var today = new Date(); 
    var Date2 = new Date (strValue); 
    var Days = Math.floor((Date2.getTime() - today.getTime())/(1000*60*60*24)); 
    alert('Days between two dates is: ' + Days); 
    if (Days >= 0) 
     { 
      alert('Future dates are not allowed ' + Days); 
      // document.getElementByName('statuseffective').value(); 
      $('#stauseffective').val(''); 
      return false; 
     } 
    else if ((Days === -1) || (Days > -31)) 
     { 
      alert('Date entered looks good' + Days); 
     } 
    else 
     { 
      alert('Are you sure you entered the correct date? ' + Days); 
     } 
validateUSDate(strValue) 
} 

的函数被调用:

<input type="text" name="statuseffective" onchange="ChngStatusEffective(this)" /> 

我只需要这个输入字段名,statuseffective被消隐。 注意:可能有一个输入字段或可能有100个。我只需要一个输入字段空白。

+0

这可能会帮助,以检查是否日期是在一个范围内工作:http://stackoverflow.com/a/1906680/158014 – Jakub 2012-01-27 18:45:23

+0

我的功能本身它在确定工作正常如果输入的日期在范围内,我只需要在有多个的情况下清除正确的输入框。每个输入框可能有不同的日期,因此我无法将它们全部清除。 – HPWD 2012-01-27 18:52:08

回答

2

由于您将this传递给ChngStatusEffective方法,因此您可以使用它来设置其值。

$(obj).val(''); 

obj.value = ''; 
+0

谢谢。我尝试了你建议的两种方式,并且都完美地工作。 – HPWD 2012-01-27 18:59:27

+0

只是为了一个美味的珍闻,我如何将焦点设置回该字段?我尝试了'$(obj).val('')。focus();'但是没有用(也没有产生任何错误)。 – HPWD 2012-01-27 20:13:00

+0

是的,这是正确的$(obj).val('')。focus()'。 – ShankarSangoli 2012-01-27 20:13:40

1
$('input[name="statuseffective"]').val(''); 

应该这样做,但如果你有一个同名的任何其他投入,它会清除它们,以及 - 使用该输入ID和基于ID选择这将确保没有其他输入被清除

+0

不幸的是,我无法在此输入字段中添加一个ID。我必须能够确定哪个输入字段发生了变化。你还有什么? :) – HPWD 2012-01-27 18:50:09

相关问题