dedecms 文章发布时:
1、判断标题采用的是判断表单值
if(document.form1.title.value==""){
        alert("<?php echo $cInfos['titlename']; ?>不能为空!");
        document.form1.title.focus();
        return false;
    }2、但是内容是这个形式
<?php GetEditor("body","",350,"Member"); ?>
如何在会员提交时,判断内容不能小于200字,然后弹出提示窗口。谢谢!

解决方案 »

  1.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>上传<?php echo $cInfos['typename']; ?></title>
    <?php include(DEDEMEMBER."/templets/head_inc.htm"); ?>
    <script type="text/javascript" language='javascript' src='js/main.js'></script>
    <script language="javascript" type="text/javascript">
    <!--
    function checkSubmit()
    { if(document.form1.title.value==""){
    alert("文章标题不能为空!");
    document.form1.title.focus();
    return false;
    } if(document.form1.typeid.value==0){
    alert("文章隶属栏目必须选择!");
    return false;
    } if(document.form1.typeid.options[document.form1.typeid.selectedIndex].className!='option3')
    {
    alert("文章隶属栏目必须选择白色背景的项目!");
    return false;
    } if(document.form1.vdcode.value==""){
    document.form1.vdcode.focus();
    alert("验证码不能为空!");
    return false;
    }
        if(document.form1.softurl1.value==""){
    document.form1.softurl1.focus();
    alert("本地地址不能为空,请点“选取”上传,把你上传文件的打勾");
    return false;
    }
    }var startNum = 2;
    function MakeUpload()
    {
    var upfield = document.getElementById("uploadfield");
    var morelinkobj = document.getElementById("morelink");
    var endNum =  parseInt(document.form1.picnum.value) + startNum;
    morelinkobj.style.display = "block";
    if(endNum>12) endNum = 12;
    for(startNum;startNum<=endNum;startNum++){
    upfield.innerHTML += "<div class='mT10'>";
    upfield.innerHTML += "软件地址"+startNum+":<input class='text' type='text' name='softurl"+startNum+"' value='http://'> ";
    upfield.innerHTML += " ";
    upfield.innerHTML += "服务器名称:<input class='text' type='text' name='servermsg"+startNum+"' style='width:150px'>\r\n";
    upfield.innerHTML += "</div>";
    }
    }function ShowHideAddr()
    {
    document.getElementById('morelink').style.display = (document.getElementById('morelink').style.display=='block' ? 'none' : 'block');
    document.getElementById('btsh3').value = (document.getElementById('morelink').style.display=='block' ? '隐藏地址' : '显示地址');
    }-->
    </script>
    </head>
    <body>
    <?php include(DEDEMEMBER."/templets/head.htm"); ?>
    <div class="wrapper lineT">
      <div class="mainBox">
        <div class="main">
          <?php include(DEDEMEMBER."/templets/menu.php"); ?>
          <div class="dedeMain">
            <div class="location"><span class="titAddChannel3 icon">上传</span><?php echo $cInfos['typename']; ?></div>
            <form class="mTB10 mR10 mL10" name="form1" action="soft_add.php" method="post" enctype="multipart/form-data" onsubmit="return checkSubmit();">
              <input type="hidden" name="dopost" value="save" />
              <input type="hidden" name="channelid" value="<?php echo $channelid; ?>" />
              <table cellspacing="1" class="submit mB10">
                <thead>
                  <tr>
                    <th colspan="4" ><strong>常规参数</strong></th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td width="15%" align="right"><?php echo $cInfos['typename']; ?>名称:</td>
                    <td colspan="3"><input name="title" type="text" id="title" class="text" size="30" style="width:400px;" />
                      <span style="color:#F00">*</span></td>
                  </tr>
                  <tr>
                    <td align="right">标签TAG:</td>
                    <td colspan="3"><input name="tags" type="text" id="tags" size="30" class="text" style='width:400px' />
                      (用逗号分开)</td>
                  </tr>
                  <tr>
                    <td align="right">作者:</td>
                    <td colspan="3"><input name="writer" type="text" id="writer" size="30" style="width:95px;" class="text" value="<?php echo $cfg_ml->M_UserName?>" /></td>
                  </tr>
      <tr>
                    <td align="right">软件来源:</td>
                    <td><input class="text" name="source" type="text" id="source" value="未知"/></td>
                  </tr>
                  <tr>
                    <td align="right">隶属栏目:</td>
                    <td>
       <?php
        $typeOptions = GetOptionList(0,$channelid);
        echo "<select name='typeid' size='1'>\r\n";
        echo "<option value='0' selected>请选择栏目...</option>\r\n";
        echo $typeOptions;
        echo "</select>";
    ?>
                      <span style="color:#F00">*</span>
                     </td>
                     <td align="right">需要金币:</td>
                     <td><input class="text" name="needmoney" type="text" value="0" id="needmoney" style="width:95px" />(最大允许100个)</td>
                  </tr>
                  <?php
          //自定义字段
          PrintAutoFieldsAdd($cInfos['fieldset'],'autofield');
          ?>
                </tbody>
              </table>
              <table cellspacing="1" class="submit">
                <thead>
                  <tr>
                    <th colspan="2" ><strong>内容详情</strong> (不低于200字)</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td width="15%" align="right">文字介绍:</td>
                    <td><?php GetEditor("body","",200,"Member"); ?></td>
                  </tr>
                  <tr>
                    <td align="right">本地地址:</td>
                    <td><input class="text" name="softurl1" type="text" id="softurl1" size="35" />
                      <button class="buttonGary2" name="sel1" type="button" id="sel1" onclick="SelectSoft('form1.softurl1')">选取</button>
                       <span style="color:#F00">*</span>服务器名称:
                       <input class="text" name="servermsg1" type="text" id="servermsg1" value="本地下载" style="width:150px" /></td>
                  </tr>
                  <tr>
                    <td align="right">其它地址:</td>
                    <td><input class="text" name="picnum" type="text" id="picnum" size="8" value="5" />
                      <button class="buttonGary4" name='kkkup' type='button' id='kkkup2' onclick="MakeUpload();">增加地址</button>
                      <button class="buttonGary4 mL10" type="button" name="Submit3" id="btsh3" onclick="ShowHideAddr();">隐藏地址</button>
                      (最多为12个链接)
                      <div id="morelink" style="display:none"><?php echo "<span id='uploadfield'></span>"; ?></div></td>
                  </tr>
                  <?php
         //游客强制加验证码,会员则判断后台开关
         if(!$cfg_ml->IsLogin() || $cfg_vdcode_member=='Y')
         {
          ?>
                  <tr>
                    <td align="right">验证码:</td>
                    <td><input name="vdcode" type="text" id="vdcode" size="10" class="text" style='width:50px;text-transform:uppercase;' />
                      <img src='../include/vdimgck.php' width='50' height='20' align="absmiddle" alt="看不清?点击更换" align="absmiddle" style="cursor:pointer" onclick="this.src=this.src+'?'" /></td>
                  </tr>
                  <?php
         }
         else
         {
          echo "<input name='vdcode' type='hidden' id='vdcode' value='notuse' />";
         }
          ?>
                </tbody>
                <tfoot>
                  <tr>
                    <td height="45">&nbsp;</td>
                    <td height="45"><button class="button2" type="submit">提交</button>
                      <button class="button2 mL10" type="reset" onclick="location.reload();">重置</button></td>
                  </tr>
                </tfoot>
              </table>
            </form>
          </div>
          <div class="clear"></div>
        </div>
        <div class="clear"></div>
      </div>
    </div>
    <?php include(DEDEMEMBER."/templets/foot.htm"); ?>
    </body>
    </html>
      

  2.   

    php的执行是在服务端的,而js的执行是在客户端的。
    上面的代码忽略了这一点。 
    客户端端可以采用js的字符串处理函数
    服务端可以采用php的字符串长度处理函数。
    具体的要自己查了。
      

  3.   


    <script type="text/javascript">var txt="Hello World!"
    document.write(txt.length)</script>
    <?php
    echo strlen(obj);
    ?>
      

  4.   

    这个是个很蛋疼的问题啊,在处理中文的时候php和javascript占用字节数不一样的。可以做javascript的验证,就用自带的length,如果超过300则form_submit,否则return false。当然javascript这个是可以去掉的,php层面用strlen在验证下咯。只是实际的长度可能会与理想的有出入
      

  5.   

    js怎么判断编辑器里边的<?php GetEditor("body","",350,"Member"); ?>的长度?
      

  6.   

    mb_strlen可以判断字符串的长度
    if(mb_strlen($str,'utf-8')>300){
    echo "<script>alert('内容过长')</script>";
    exit();
    }
      

  7.   

    这个是在php文件里边?还是在html模板里边的php?
      

  8.   

    应该编辑器是通过GetEditor这个函数输出了一段html+css+js的代码出来,创建了一个文本编辑器。那你去查一下这个函数创建的编辑器这个是什么。一般这种开源的js的编辑器,都会提供一些方法或函数来获取内容长度什么的。一般这种开源编辑器,调用它的时候首先需要创建一个它的对象,然后对象.getContext什么就可以获取编辑器的内容了,甚至会直接提供getContextLength之类的方法。关键你先要弄明白这到底是个什么编辑器。能获取到内容或内容长度后,在表单提交时增加个js方法,检查长度是否符合你的要求就可以了。
      

  9.   

    计算出文字的长度 mb_strlen();