1

我有点迷路了……我有一个网站,里面有很多 AJAX 调用。我尝试了一些 JavaScript 文本字段格式,但这太难处理了,所以我决定在没有它的情况下恢复正常。但是现在我的 Ajax 调用都没有工作,我不知道为什么......我得到的只是这个错误:

ReferenceError: name-of-the-call is not defined

这些调用位于“scripts.js”文件中,并且从一开始就包含在标题中。

这是我现在的标题,带有上传脚本和输入字段之间的箭头键导航。

<head>
<title>The title</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="style.css" />
<link rel="stylesheet" type="text/css" href="/scripts/uploadify.css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="/scripts/jquery.uploadify.min.js"></script>
<script type="text/javascript" src="scripts.js"></script>
<script type="text/javascript" src="/scripts/ajaxsubmit.js"></script>
    <script type="text/javascript">
        <?php $timestamp = time();?>
        $(function() {
            $('#file_upload').uploadify({
                'formData'     : {
                    'timestamp' : '<?php echo $timestamp;?>',
                    'token'     : '<?php echo md5('unique_salt' . $timestamp);?>'
                },
                'height'   : 25,
                'buttonText' : 'bla bla...',
                'onUploadSuccess' : function(file, data, response) {
                    document.getElementById("uploadedId").innerHTML+='<p style="margin: 0px;"><img width="25px" src="/img/success.png" /><b>' + data + '</b></p>';
                    var str = document.getElementById("uploadedFiles").value;
                    if(str == ""){
                        document.getElementById("uploadedFiles").value=data;
                    }else{
                        document.getElementById("uploadedFiles").value+=',' + data;
                    }
                },
                'swf'      : '/scripts/uploadify.swf',
                'uploader' : '/scripts/uploadify.php'
            });
        });
    </script>
    <script type="text/javascript">
        $(document).ready(function(){
            $('body').on('keyup', 'input', function(e){
                if(e.which==39)
                    $(this).closest('td').next().find('input').focus();
                else if(e.which==37)
                    $(this).closest('td').prev().find('input').focus();
                else if(e.which==40)
                    $(this).closest('tr').next().find('td:eq('+$(this).closest('td').index()+')').find('input').focus();
                else if(e.which==38)
                    $(this).closest('tr').prev().find('td:eq('+$(this).closest('td').index()+')').find('input').focus();
            });
        });
    </script>
</head>

这是 JS 代码(其中之一,因为没有一个是 fowrking...)不想工作的(这是在 scripts.js 中):

function companyVatnr(str){

if (str.length==0)
  {
  document.getElementById("companysearch").innerHTML="";
  document.getElementById("companysearch").style.border="0px";
  return;
  }
if(str.length>7){
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("companysearch").innerHTML=xmlhttp.responseText;
    document.getElementById("companysearch").style.border="1px solid #A5ACB2";
    }
  }
xmlhttp.open("GET","ajaxcompany.php?q="+str,true);
xmlhttp.send();
}
}

有人可以帮助我吗,这里可能是什么问题?

非常感谢你!

4

1 回答 1

0

scripts.js 中存在语法错误,导致我的所有函数都不起作用。修复后,一切恢复正常。

于 2012-11-09T09:38:17.957 回答