检查表单字段是否为空所需的PHP和Javascript代码

检查表单字段是否为空所需的PHP和Javascript代码,php,javascript,Php,Javascript,如果任何字段为空,则需要Javascript防止表单提交。所有我的表单字段都以name=add[FieldName]开头。这些是需要检查的字段 PHP,在提交到数据库之前进行后端检查仔细检查以确保所有$POST都不是空的我不打算编写javascript,但这里有一些PHP $valid = true; foreach($_POST as $key) { if(!isset($key)) { $valid = false; } } if(!$valid)

如果任何字段为空,则需要Javascript防止表单提交。所有我的表单字段都以name=add[FieldName]开头。这些是需要检查的字段


PHP,在提交到数据库之前进行后端检查仔细检查以确保所有$POST都不是空的

我不打算编写javascript,但这里有一些PHP

$valid = true;
foreach($_POST as $key)
{
    if(!isset($key))
    {
        $valid = false;
    }
}

if(!$valid)
{
    header("Location: /path/to/form");
}

下面是一个可以使用的javascript函数。只需为属于相关字段的每个id调用它

function isEmpty(field_id) {
  var empty = false;
  if (document.getElementById(field_id).value == null)
    empty = true;

  if (document.getElementById(field_id).value == "")
    empty = true;

  return empty;
}
如果有可预测的名称,可以在循环中调用此函数。例如,如果它们被命名为field1、field2、…、field23,那么您可以在主代码体中包含以下内容:

for (i = 0; i < 24; i++) {
    var emptyCheck = false;
    if(isEmpty("field"+i)) {
        emptyCheck = true;
        //do whatever you want to do when a value is empty
    }
}
(i=0;i<24;i++)的
{
var emptyCheck=false;
if(isEmpty(“字段”+i)){
emptyCheck=true;
//当值为空时,执行您想执行的任何操作
}
}

不要担心JavaScript,只要确保服务器端的检查工作正常即可。任何傻瓜都可以轻松地关闭JavaScript以通过客户端检查。这看起来更像是一个请求,而不是一个问题。@animuson立即弹出错误窗口比等待服务器给出错误响应更方便用户@Mike,这就是我所想的。@ MiMiSuon和@阿尔达席-我认为快乐的媒介是他们不应该依赖JavaScript验证,因为这是不安全的,容易规避的,但是仍然担心使用性,这是最好的,通过添加JavaSript,除了服务器端检查之外。您打算使用
isset
而不是
unset
。另外,
$key
最好命名为
$value
;为了节省时间,为什么不在
$valid
变为false时立即
标题(位置:…)
退出
死亡
。很抱歉请求代码,我知道这不是一个真正的问题。Stackoverflow似乎是快速可靠帮助的最佳场所。这是我最后使用的代码
foreach($_POST['add']as$value){if(isset($value)){$valid=false;$err.='请填写所有字段';$en['reg_error']='.'u error.'.$err.
';加载模板('modules/members/templates/reg_gender.tpl');}}
@Richard:Nice spot,是的。hi jgb146有办法为所有id字段执行此操作吗,所以编码的清单并不长。我有大约23个字段,我将编辑我的回复,包括一些可能的代码。