【问题标题】:echo a text on form when field is not filled [closed]未填写字段时在表单上回显文本[关闭]
【发布时间】:2014-06-17 08:30:15
【问题描述】:

当未填写某些内容时(在本例中为name="namePatient"),我想在屏幕上(在表单上)打印一条错误消息。

我已经进行了检查,但我不知道如何将消息回显到表单以便用户可以看到它。我应该在 PHP 中执行此操作,还是有更好的选择?

【问题讨论】:

  • 请向我们展示您的代码。
  • 使用 JavaScript,不必使用 PHP
  • 使用jquery验证器插件jqueryvalidation.org/validate
  • 如果你需要一些基本的检查,IMO 一个插件是矫枉过正的。写几行简单的就行了。

标签: javascript php forms validation


【解决方案1】:

有多种方法。我建议您坚持使用客户端(而不是 php),因为这样会更加用户友好。

最简单的是使用浏览器验证,这将在提交表单时触发:

<form><input required title="Please give me a value" /></form>

另一种方法是 javascript 验证(使用 jQuery 保持演示简单):

$('#myForm').on('submit', function(e){
    var success = true; 
    $(this).find('input,select,textarea').each(function(){
        if( this.value.length===0){
            success = false; // we've found an error
            $(this).addClass('invalidInput');
        }
        else{
            $(this).removeClass('invalidInput'); // don't forget to remove the class if proper value
        }
    });
});

如果你真的想要 PHP:

$errors = array();
if( !isset($_POST['example1']) ){ $errors[] = '- Example1 needs to have a value';}
if( !isset($_POST['example2']) ){ $errors[] = '- Example2 needs to have a value';}

if( count($errors) !==0 ){
    echo "The following has gone wrong:<br />\n" . implode("<br />", $errors);
}

【讨论】:

  • 浏览器将突出显示输入,设置焦点并显示默认消息,或者如果指定了标题的值。所以一条消息,每个请求:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-07
  • 1970-01-01
  • 2020-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多