2011-07-29 43 views
0

试图忽略默认值(使用的字段提示可访问)的验证。JavaScript验证 - 当表单会</p> <p>通过它字段的默认忽略字段值

的验证是在javascript:

 if (giftCardNumber >= 'xxxxxxxxxxxxxxx' && giftCardNumber <= 'xxxxxxxxxxxxxxxxx') { 
    giftAlert (incdpy_msg_065,"frmGCD_"+formIndex+"_Number"); 
    if ((typeof TeaLeaf != "undefined") && (typeof TeaLeaf.Client != "undefined") && (typeof TeaLeaf.Client.tlAddEvent != "undefined")) { // Tealeaf Include 
      var nVO = { ErrorMessage :incdpy_msg_065} 
      var subtype="CustomErrorMsg"; 
      TeaLeaf.Event.tlAddCustomEvent(subtype, nVO); 
    } 

    return false; 
    } 

我认为这是一个非常简单的线条 - 如果(giftCardnumber === “输入礼品卡”)...

XXX的是出于安全考虑。

或者我可以清除所有关于焦点和提交的默认值吗?

回答

0

你可以只检查对默认值属性:

if (element.value == element.defaultValue) { 
    // it has its default value 
} else { 
    // it has some value other than its default 
} 

的常用方法是使用的onfocus如果value == defaultValue,将该值设置为“”(空字符串)。然后onblur,做相反的处理(即,如果value == '',设置为defaultValue)。

0

是 - 如果您知道默认值是什么,并且可以对其进行验证,那么这是最直接的方法。

+0

默认值存储在输入的* defaultValue *属性中,所以不那么难以知道。 :-) – RobG

+0

好的。假设你没有任何理由改变这个。 –

0

您基本上需要测试该值是。那么这取决于您是否想要阻止提交表单或向服务器发送空值。

您是否尝试过并遇到问题?

编辑: 正如你所说清除焦点上的值将是很好的(对于用户),但不够,因为用户仍然可以提交表单而不触摸该字段。在提交你可以做

if(giftCardNumber === "default value") { 
    giftCardNumberField.value = ""; 
} 

只要你有机会到外地,这将只是发送一个空值到服务器。这也会产生恼人的习惯,将字段留空(如果页面没有被提交,因为表单无效或者因为您通过ajax进行了提交,那么会很丑陋)。

其实我不知道最佳做法是什么。看看ext文档,我发现他们的Textfield只要提供一个html名字就会提交它的空文本。

+0

这就是我猜,但我不确定如何去... – Jason

+0

好吧我编辑我的回复,这是相当简单:) – Jad

+0

工程 - 种。我实际上需要它返回像(giftCardlength === 0) – Jason