【问题标题】:suppress javascript error for undefined array property抑制未定义数组属性的 javascript 错误
【发布时间】:2013-01-17 10:07:49
【问题描述】:

我有一个用 javascript 构建的表单,我想用它来添加用户和更新用户。

表单包含一些输入元素,如下所示。这在我获取用户数据来构建更新表单时有效,但是对于添加新用户,此属性在数组中不存在,因此脚本失败并按预期停止正确运行。

问题是,抑制此错误的最短方法是什么?像@$params['user_email'] 这样的php。

  • 我知道尝试,缓存
  • 我知道要抑制窗口对象上的所有错误。
  • 类型、未定义等

我只是在寻找最短的方法来执行此操作,而无需添加多行代码来验证 params 数组中的每个属性。

<input name="user_email" type="text" value="'+params['user_email']+'"/>

【问题讨论】:

  • 究竟是什么错误,究竟是什么代码触发了错误?
  • 您不应隐藏任何错误。你应该处理它们。在您的代码中,我猜这是生成新对象的 javascript 代码的一部分,您可以执行以下操作:&lt;input name="user_email" type="text" value="'+(params['user_email'] ? params['user_email'] : "" )+'"/&gt;。在 php 中没有像 @ 这样的东西。
  • 最好找到实际问题的解决方案,然后找到解决错误的解决方案..!

标签: javascript suppress


【解决方案1】:

从不抑制错误。这是一个非常坏的习惯,迟早会给你带来严重的头痛。始终进行适当的检查。 (如下)

          // if available           use it            otherwise echo empty string
value="'+(params['user_email'] ? params['user_email'] : '')+'"

【讨论】:

  • 问题被标记为 javascript?
  • @AndrewHall 没关系,代码完全一样^^ 但是很重要;)
  • 这正是我一直在寻找的,非常直截了当而且很常见,现在我已经想到了,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-24
  • 2015-10-26
  • 2017-12-12
相关资源
最近更新 更多