首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击submit时验证textarea

单击submit时验证textarea
EN

Stack Overflow用户
提问于 2013-08-29 05:15:34
回答 6查看 2.8K关注 0票数 0

我正在开发的网站,允许用户发送反馈到系统。我已经创建了反馈表单使用textarea和按钮提交。最重要的是,当用户点击submit时,如果用户输入了一些我不希望他们输入的单词,那么反馈就不会发送到系统;它会提醒用户在点击submit之前删除这个单词。

从现在开始,我只创建了一个简单的代码,如果用户输入我不希望他们以反馈形式输入的单词,它将响应一些警告。

这里是我的代码

代码语言:javascript
复制
<form action="main.php" method="post">
    <textarea cols='10' rows='5' name='text'></textarea>
    <br/>
    <input type='submit' name='add' Value='Add to list' />
</form>

<?php
if (isset($_POST['add'])) {
    $banned = array('dog', 'cat', 'cow'); // Add more
    $entry = $_POST['add'];
    foreach($banned as $word): if (strpos($entry, $word) !== false) die('Contains banned word');
    endforeach;
}
?> 

这不是工作。有人能帮我解决这个问题吗?

提前谢谢。

EN

回答 6

Stack Overflow用户

发布于 2013-08-29 05:17:13

试着像

代码语言:javascript
复制
$entry = $_POST['text'];    // Not $_POST['add'];
foreach ($banned as $word):
    if (strpos($entry, $word) !== false) {
        echo 'Contains banned word';
        exit;
    }
endforeach;

您的$entry将是文本框值,即$_POST' text ' not $_POST‘’add‘

票数 2
EN

Stack Overflow用户

发布于 2013-08-29 05:18:33

使用in_array函数http://php.net/manual/ru/function.in-array.php

代码语言:javascript
复制
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
    echo "Got Irix";
}
票数 0
EN

Stack Overflow用户

发布于 2013-08-29 05:19:12

与其每次输入文本时都将代码提交给服务器,我建议您在客户端使用Javascript,只有通过验证后才提交。

HTML

代码语言:javascript
复制
<form action="main.php" method="post">
<input type="text" onchange="validate_function(this)">
 //works with text area too.
<input type='submit' name='add' Value='Add to list' />
</form>

Javascript

代码语言:javascript
复制
validate_function(a)
{
r=0;
banned = array('dog', 'cat', 'cow');
var lines = a.val().split('\n');
for(var x=0;x<banned.length;x++) 
{    
for(var i = 0;i < lines.length;i++)
{
if (lines[i].indexOf(banned[x]) > -1)
 {
      r=1;
      break;
}
 else 
{

}

}
if(r==1)
break;
}
if( r==0)
return true;
else 
return false;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18502779

复制
相关文章

相似问题

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