javascript验证 - 忽略默认字段值

时间:2011-07-29 14:32:58

标签: javascript validation

尝试在表单出现时忽略字段的默认值(使用字段提示进行访问)

通过它的验证。

验证是在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是出于安全原因。

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

你基本上需要测试该值是否正确。然后,这取决于您是否要阻止提交表单或向服务器发送空值。

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

编辑: 正如您所说,清除焦点上的值会很好(对于用户而言)但不够,因为用户仍然可以在不“触摸”该字段的情况下提交表单。在提交中你可以做到

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

如果您有权访问该字段,则只需向服务器发送空值即可。这也有令人讨厌的习惯,即将字段留空(如果页面因为表单无效或因为你通过ajax执行而未提交页面,则会很难看。)

实际上我不知道这是什么最好的做法。查看ext文档,我看到如果给出一个html名称,他们的Textfield将只提交其空文本。

答案 2 :(得分:0)

您只需检查 defaultValue 属性:

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 )。