首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Textarea验证

Textarea验证
EN

Stack Overflow用户
提问于 2010-10-26 00:20:17
回答 3查看 9.7K关注 0票数 1

我的脚本应该不会让HTML表单提交,除非用户在文本区域控件中输入一些数据。但是,无论如何都会提交表单,并且不会向用户显示任何消息。有人能看到我做错了什么吗?

这是我的HTML:

代码语言:javascript
复制
<textarea name="description" id="description" rows = "4" cols = "25">
    <?php echo $description?>
    </textarea>

至于PHP,这两个都不是:

代码语言:javascript
复制
if ($_POST['description'] == "") {
            $errors .= 'Please enter a description of your invention.<br/><br/>';
        }

或者这样:

代码语言:javascript
复制
if (empty($_POST['description'])) {
            $errors .= 'Please enter a description of your invention.<br/><br/>';
        }   

工作。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-26 00:23:40

这是因为文本区不是空的!请注意,您在前面放置了一个制表符,这意味着至少文本区域将始终包含制表符。

将验证代码更改为如下所示:

代码语言:javascript
复制
if (trim($_POST['description']) == "") {
票数 8
EN

Stack Overflow用户

发布于 2010-10-26 00:22:58

在您的表单中输入:

代码语言:javascript
复制
<form onsubmit = "return checkSubmit()">

然后在你的Javascript中的某处:

代码语言:javascript
复制
function checkSubmit(){
  if (form good)
    return true;
  else
    return false;
}
票数 0
EN

Stack Overflow用户

发布于 2010-10-26 00:24:36

<textarea>标记之间有一些空格。您是否尝试过输出$_POST['description']以查看是否正在回发此内容?额外的新行可能会把它搞乱。您可以尝试向其添加最小长度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4016647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档