无法验证textarea

时间:2012-10-23 21:46:11

标签: php jquery html

我无法验证下面的textarea,不知道我的代码有什么问题。

<div id="chooseForm">
    <input type="checkbox" name="ArticlesOrderForm" value="ArticlesOrderForm">
    <b>Articles Order Form </b>
</div>';



$echo .= '  <script>
        jQuery(function($) {
            $(".formGroup").hide();
            $("#chooseForm input:checkbox").on("change", function() {
                if($(this).is(":checked")) {
                    $("#" + $(this).val()).show();
                }
                else {
                    $("#" + $(this).val()).hide();
                }
            });
        });

    </script>';



     $echo .=  '<div id="ArticlesOrderForm" class="formGroup">
                <legend>Articles Order Form</legend>
                <b><label for="article_keywords">Keywords/Titles<span class="reqd">*</span> : </label></b> <textarea rows="6" cols="50" id="article_keywords" name="article_keywords" > </textarea>
            </div>';
<br/><br/>

if($_POST['ArticlesOrderForm'] == 'checked') {  

  if(!isset($_POST['article_keywords']) || empty($_POST['article_keywords'])) {
    $myerror= '<li>'.__('<strong>Keywords/Titles</strong> - missing.','article_keywords').'</li>';
    }   
}



如果有人没有进入该文本区域,我应该收到“关键字/标题 - 缺失”的消息。 任何人都可以告诉我,我的逻辑有什么不对吗?

请在此处找到完整代码:http://jsfiddle.net/DTcqk/3/ 在这里:http://jsfiddle.net/YYAbm/

2 个答案:

答案 0 :(得分:2)

默认情况下,您的textarea不为空:

<textarea rows="6" cols="50" id="article_keywords" name="article_keywords" > </textarea>
                                                    you have space here ----^

因此,它不会输入您的if

if(!isset($_POST['article_keywords']) || empty($_POST['article_keywords'])) {

如果要在验证trim()中仅捕获仅包含空格的变量,则应使用if,如下所示:

$_POST['article_keywords'] = trim($_POST['article_keywords']);
if(!isset($_POST['article_keywords']) || empty($_POST['article_keywords'])) {

答案 1 :(得分:1)

尝试替换

if($_POST['ArticlesOrderForm'] == 'checked') {  

if($_POST['ArticlesOrderForm'] == 'ArticlesOrderForm') { 

输入类型复选框未发布“已选中​​”它会发布复选框的值属性。