【问题标题】:Detecting if the form field values have been modified检测表单字段值是否已被修改
【发布时间】:2010-08-24 09:25:29
【问题描述】:

我有一个多步骤表格,要求订阅者在继续续订过程之前检查他们的详细信息。

我要做的是检查表单是否已根据其预填充值(从 Web 服务中提取)进行了修改,然后将其写入我自己的本地 MySQL 数据库。仅当值已从原始值修改时才会发生这种情况。

我知道我可以通过使用 == 运算符来做到这一点,但我想知道是否有更有效的方法来做到这一点?

【问题讨论】:

    标签: php forms webforms


    【解决方案1】:

    您可以使用(多维)数组来做到这一点。仔细命名表单/服务变量,然后在提交时将它们与array_diff 进行比较,array_diff 会告诉您哪些值已被修改。 因为你说这是一个多步骤的表单,当然你也可以在$_SESSION变量中收集之前提交的值。

    【讨论】:

      【解决方案2】:

      您可以在客户端使用 javascript 执行此操作:

      HTML

      <input type="text" id="username">
      

      Javascript

      var input = $('#username');
      if (input.defaultValue != input.value) {
          //Do stuff if different 
      } else {
          //Do stuff if equal
      }
      

      【讨论】:

      • 这可能会被欺骗(如果客户端禁用了 JS),或者如果表单很大或(如 OP 所述)表单是多步的,则会很重。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 2011-12-28
      • 1970-01-01
      相关资源
      最近更新 更多