提交表单时删除空字段

时间:2014-04-06 02:21:01

标签: javascript

所以我使用JavaScript创建了一个表单,允许用户输入他们想要的输入数量,但我遇到了两个问题。首先,如果他们放置额外的字段并且不使用它们,我会在另一边遇到错误,因为这些字段中没有输入,第二个是他们无法返回并在必要时编辑输入。我是一个相对较新的JavaScript,所以我不知道如何解决它,但如果有人可以通过自动删除任何在提交时未使用的空字段来帮助修复输入问题并添加协议以便能够编辑输入,我将非常感激。非常感谢您的帮助,代码如下!

3 个答案:

答案 0 :(得分:1)

处理此问题的方法很少,但它们涉及以某种方式重新构建您的应用程序。

  1. 限制系统,以便在填写前一个地址之前无法添加新地址。
  2. 在提交表单之前,请运行完整性检查并删除所有空白地址,并根据需要重命名字段。
  3. 将表单转换为Ajax对象并以此方式提交。您需要重新编写后端,以确保它正确接受JSON。
  4. 通过检查/验证传入数据,使您的PHP更智能,更好。

答案 1 :(得分:1)

在PHP中,在尝试使用它们之前,应始终检查您的请求变量是否为空。 foreach循环看起来应该更像这样:

foreach ( $_POST['data']['address'] as $address ) {
    if ( !empty( $address ) ) {
        $addresses[$counter] = $address;
        $counter++;
    }
}

这将阻止$ addresses数组具有空字段。

至于用户无法返回"并编辑输入字段,从您的代码示例中看不出为什么会出现这种情况。如果您的意思是希望用户能够在服务器提交和处理数据后更改数据,则无法对现有代码进行少量修改。您需要为前端和后端添加更多功能。

答案 2 :(得分:1)

我只会检查一个空字符串,如果它是空的,则continue ...修剪$address以清除仅为空格的输出。

foreach ($_POST['data']['address'] as $address){
  if(empty(trim($address)) continue;
  $addresses[$counter] = $address;
  $counter++;
}