私は少し迷っています...私はAJAX呼び出しがたくさんあるサイトを持っています。JavaScriptのテキストフィールドの書式設定を試してみましたが、処理が難しすぎたため、JavaScriptのテキストフィールドの書式設定を行わずに通常の形式に戻すことにしました。しかし、現在、私のAjax呼び出しはどれも機能しておらず、理由はわかりません...私が得たのはこのエラーだけです:
ReferenceError: name-of-the-call is not defined
呼び出しは「scripts.js」ファイルにあり、これは最初からヘッダーに含まれています。
これは、uploadifyスクリプトと、入力フィールド間の矢印キーナビゲーションを備えた現在の私のヘッダーです。
<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コードです(いずれも機能していないため、そのうちの1つです...)動作したくないもの(これは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();
}
}
誰かが私を助けてくれますか、ここで何が問題になる可能性がありますか?
どうもありがとうございます!