代码
 <!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>江高镇精细化工产业技术网</title>
     
     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"></meta>
     <meta http-equiv="description" content="this is my page"></meta>
     <meta http-equiv="content-type" content="text/html; charset=UTF-8"></meta>
     
     
 
       <script type="text/javascript" src="__PUBLIC__/js/jquery-1.4.2.min.js"></script>
       <link rel="stylesheet" type="text/css"></link>
       <link rel="stylesheet" type="text/css"></link>
       <script type="text/javascript" src="__PUBLIC__/js/index.js"></script>
     
 <script type="text/javascript">
 function messageSubmit(){
     var username = document.getElementById('mname').value;
     var content = document.getElementById('mcontent').value;
     var phone = document.getElementById('mphone').value;
     var email = document.getElementById('memail').value;
     
     var address = document.getElementById('maddress').value;//联系地址
     var cname = document.getElementById('mcname').value;//公司名称
     var question = document.getElementById('mquestion').value;//验证问题
     var verify = document.getElementById('mverify').value;
 
     if(username == ''){
         alert('姓名不能为空!');
         return false;
     }
     
     if(!phone.match(/^(13[0-9]{9})|(18[0-9]{9})|(15[89][0-9]{8})$/)){
          alert("手机格式不正确,请重新输入!");
          return false;
     }     
         
     if(!email.match(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/)){
          alert("邮箱格式不正确,请重新输入!");
          return false;
     } 
     
     if(address == ''){
         alert('联系地址不能为空!');
         return false;
     }
     
     if(cname == ''){
         alert('公司名称不能为空!');
         return false;
     }
 
     if(content == ''){
         alert('内容不能为空!');
         return false;
     }
     else if(content.length>
     
     if(question == ''){
         alert('请回答验证问题!');
         return false;
     }
     else if(question !== '18')
     {
         alert('回答错误!');
         return false;
     }
     
     if(verify == ''){
         alert('请填写验证码!');
         return false;
     }
     else
     {
         //if(!checkVerify())
         //{
             //alert('验证码填写错误!');
             //return false;
         //}
     }
 
     document.getElementById('messageForm').submit();
             
 
 }
 
 //用Ajax方法检测验证码是否正确
 function checkVerify()
 {
     var xmlHttp;
     if(window.XMLHttpRequest)
     {
         xmlHttp = new XMLHttpRequest();
     }
     else
     {
         xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
     }
     
     var verify = document.getElementById('mverify').value;
     //alert(verify);  //test
     var url = 'index.php?m=Message&a=verify&verify=' + verify + '&sid=' + Math.random();
     xmlHttp.open('GET',url,true);
     xmlHttp.send();
     xmlHttp.onreadystatechange = function()
     {
         if(xmlHttp.readyState == 4 && xmlHttp.readyStatus == 200)
         {
             var response = xmlHttp.responseText;
             alert('response--' + response);//test
             if(response=='1')
             {
                 return true;
             }
             else
             {
                 return false;
             }
         }
     }
 }
 </script>
     
     
   </head>
   
   <body>
     <div class="top">
     
         <!--头部欢迎语start-->
         <include file="./public/t_title.html" />
         <!--头部欢迎语end-->
         
     </div>
     <div class="i_content">
         <div class="i_main">
             <div class="im_top">
             
                 <!--搜索框和登录框 start-->
                 <include file="./public/im_left_right.html" />
                 <!--搜索框和登录框 end-->
                 
                 <div class="c"></div>
                 <div class="im_title">
                     <!--顶级菜单start-->
                     <include file="./public/imt_left.html" />
                     <!--一级菜单end-->
                     
                     <!--快捷通道start-->
                     <include file="./Public/imt_right.html" />
                     <!--快捷通道end-->
                     
                     <div class="c"></div>
                 </div>
             </div>
             
             <!--一级菜单start-->
             <include file="./public/im_menu.html" />
             <!--一级菜单end-->
             
             <div class="im_main">
                 <div class="gy_main">
                     
                     <!--关于我们start-->
                     <include file="./Public/gy_left_gyr_top.html" />
                     <!--关于我们end-->
                     
                         <div class="gyr_info">
                             <div class="gyr_title">请将您需要的信息反馈给我们,我们会及时跟您联络(<span class="gyr_font2">带*号必填</span>)</div>
                             <form method="POST" action="index.php?m=Message&a=insertMessage" id="messageForm">
                             <table cellpadding="0" cellspacing="0" class="gyr_tab">
                                 <tr>
                                     <td align="right">留言内容:</td>
                                     <script type="text/javascript">
                                     //留言字数限制。将此函数放在<head></head>之间时为何报错:此函数没有定义?
                                     function metip()
                                     {
                                         document.getElementById("mcontent").value = '';
                                     }
                                     </script>
                                     <td valign="middle" class="gyr_td2"><textarea rows="5" cols="50" id="mcontent" name="content" onfocus="metip()">留言内容最大字数为70</textarea><span class="gyr_font4 gyr_span2">*</span></td>                    
                                 </tr>                                
                                 <tr>
                                     <td align="right">客户姓名:</td>
                                     <td><input class="gyr_inp2" name="name" id="mname"/><span class="gyr_font4">*</span></td>
                                 </tr>
                                 <tr>
                                     <td align="right">移动电话:</td>
                                     <td><input class="gyr_inp2" name="phone" id="mphone"/><span class="gyr_font4">*</span></td>
                                 </tr>
                                 <tr>
                                     <td align="right">性别:</td>
                                     <td><input type="radio" name="sex" value="男" />男<input type="radio" name="sex" value="女" />女</td>
                                 </tr>
                                 <tr>
                                     <td align="right">电子邮箱:</td>
                                     <td><input class="gyr_inp2" name="email" id="memail"/><span class="gyr_font4">*</span></td>
                                 </tr>
                                 <tr>
                                     <td align="right">联系地址:</td>
                                     <td><input class="gyr_inp2" name="address" id="maddress" /><span class="gyr_font4">*</span></td>
                                 </tr>
                                 <tr>
                                     <td align="right">公司名称:</td>
                                     <td><input class="gyr_inp2" name="cname" id="mcname" /><span class="gyr_font4">*</span></td>
                                 </tr>
                                 <tr>
                                     <td align="right">验证问题:</td>
                                     <td><input class="gyr_inp1" id="mquestion" /><span class="gyr_font4">*</span>请回答括号的问题:[3 * 6=?]</td>
                                 </tr>
                                     <tr>
                                     <td align="right">验证码:</td>
                                     <td class="gyr_ta1">
                                         <input class="gyr_inp1" id="mverify" name="verify" />
                                         <span class="gyr_font4">*</span>
                                         <script type="text/javascript">
                                         function getVerify()
                                         {
                                             document.getElementById("verify").src = "__APP__/Public/verify/" + Math.random();
                                         }
                                         </script>
                                         <span>
                                             <img src="__APP__/Public/verify/" id="verify" class="gyr_img1"></img>
                                             <a class="gyr_font3" onclick="getVerify()">换一张</a>
                                         </span>
                                     </td>
                                 </tr>
                                 <tr>
                                     <td></td>
                                     <td>
                                         <input type="button" class="gyr_but1" value="" onclick="messageSubmit()"/>
                                         <input type="reset" class="gyr_but2" value=""/>
                                     </td>
                                 </tr>
                             </table>
                             </form>
                         </div>
                         
                     </div>
                     <div class="c"></div>
                 </div>
                 
                 <!--friendlink start-->
                 <include file="./public/i5m_right.html" />
                 <!--friendlink end-->    
                 
                 </div>
             </div>
         </div>
         
         <include file="./public/i_bom.html" />
         
     </div>
   </body>
 </html>
 
 --------------------------------------------------------------------------------------------- 
在<form></form>的<input type="button" onclick="messageSubmit()" />中的函数messageSubmit在<head></head>中的JS中定义了,但为何在firebug中报错说此函数没有定义?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
明显是代码除了bug:
 if(content==''){
      alert('内容不能为空!');
      returnfalse;
   }
   elseif(content.length>
在head区放置js要将函数放在
$(document).ready(function(){//在这里写你的代码...});等待htmldom完毕,否则先加载js,后加载html ,岂不报错。 别的不多说,你把JS代码都移到页面底部,也就是</body>标签的前面。 另外这个是基本JS执行顺序的问题,任何一本比较好的JS书上都会讲到这个,僻如: 《JavaScript权威指南》《高级Javascript程序设计》《web前端修炼之道》《JavaScript设计模式》等PHP标签意义何在