我有一个调用php方法的javascript方法来获取数组“availabletags”中的一些数据。为了证明函数是否被调用,我添加了
availableTags[0] = "Test";
当我把它放在我的服务器上试试时,没有发生。所以我认为没有调用javascript函数。
<link rel="stylesheet" href="js/demos.css">
<script type="text/javascript">
$(function() {
var availableTags = new Array(400);
availableTags[0] = "Test";
availableTags = JSON.parse(<?php echo '"'.addslashes(include("/php/search_new.php")).'"'; ?>);
for(var i=0;i<availableTags.length;i++){
alert("<b>availableTags["+i+"] is </b>=>"+availableTags[i]+"<br>");
}
}
</script>
</head>
<body>
<input id="searchrecipes" type="text" name="searchrecipes" class="searchinput" style="margin-left: 850px; margin-top: 0px; width:170px; background: #fff url(images/search_icon.png) no-repeat 100%;" placeholder="Suchen..."></input>
<input type="submit" name="buttonsenden" style="display:none;" value="" width: 5px></input>
</body>
</html>
有人知道我的错误吗?
答案 0 :(得分:0)
学习并使用AJAX更改您的javascript数组,而无需刷新页面: AJAX调用看起来像:
<script type='text/javascript'>
function yourFunction(str, typ)
{
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)
{
myArray = xmlhttp.responseText; //here is the result
}
}
xmlhttp.open("GET","myFile.php?param1="+str ,true); //here you lunch myFile
xmlhttp.send();
}
</script>