Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提交表单时删除空字段_Javascript - Fatal编程技术网

Javascript 提交表单时删除空字段

Javascript 提交表单时删除空字段,javascript,Javascript,因此,我使用JavaScript制作了一个表单,允许用户输入他们想要的输入量,但我遇到了两个问题。第一个是,如果他们放了额外的字段而不使用它们,我会在另一边遇到错误,因为这些字段中没有输入,第二个是如果需要,他们无法返回并编辑输入。我对JavaScript比较陌生,所以我不知道如何修复它,但如果有人能够通过自动删除提交时未使用的任何空字段来帮助修复输入问题,并添加一个能够编辑输入的协议,我将非常感激。非常感谢您的帮助,代码如下 处理这个问题的方法很少,但它们涉及到用几种方法重新构造应用程序 限制

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

处理这个问题的方法很少,但它们涉及到用几种方法重新构造应用程序

  • 限制系统,使他们在填写以前的地址之前不能添加新地址
  • 提交表单之前,请运行健全性检查并删除所有空白地址,并根据需要重命名字段
  • 将表单转换为Ajax对象并以这种方式提交。您需要修改后端以确保它正确接受JSON
  • 通过检查/验证传入数据,使您的PHP更智能、更好

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

    foreach ( $_POST['data']['address'] as $address ) {
        if ( !empty( $address ) ) {
            $addresses[$counter] = $address;
            $counter++;
        }
    }
    
    这将防止$addresses数组具有空字段


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

    我只需检查是否有空字符串,如果是空字符串,
    continue
    。。。修剪
    $address
    ,以删除仅为空格的输入

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

    我将使用
    $('[type=“submit”]')。单击(函数(e){})
    e.preventDefault()
    停止表单提交,允许您检查空字段并
    删除()。但下面的答案是我在打字时发布的,这也将为你提供加强应用程序逻辑的方向。我将把这个问题分成两个问题。一个用于空输入问题,另一个用于保存输入数据。只是浪费了我的时间在删除的问题上写下这条评论:这是无效的
    document.setTimeout(document.getElementById('submit')。click(),10)改为尝试
    document.forms[0].submit()
    或至少
    window.setTimeout(函数(){document.getElementById('submit')。单击();},10)