我正在尝试创建一个onclick事件,该事件使用MySQL ajax查询的结果更新bootstrap模式元素的值:
function UpdateModal($id){
document.getElementById("modal_id").value=$id;
}
$results = GetMySQLResults();
button.onclick = function(){
UpdateModal($results[0]["id"]);
}
然而问题是,当我点击按钮时,总是说“$ result”是未定义的。
有没有办法在不必动态创建模态的情况下解决这个问题?
答案 0 :(得分:1)
看看..
$results = GetMySQLResults(); // You are collecting results into $results
button.onclick = function(){
UpdateModal($result[$i]["id"]); // You are sending parameter from $result
}
将参数更改为
UpdateModal($results[$i]["id"]);
所以基本上你没有将任何结果收集到$ result中,这就是你得到错误的原因..
基本上是一个拼写错误$results
有实际值(假设GetMySQLResults())返回值,而UpdateModal有参数$result
未定义..
答案 1 :(得分:1)
修正了它。问题是$ i没有被声明,即使它是,它被更新为最后的$ i值,而不是迭代。问题还在于$ result未在全球范围内宣布。
为了解决这个问题,我做了以下几点:
var $globalResults;
...
{
button.id = $i;
button.onclick = function(event){
var $j = event.currentTarget.id;
UpdateModal($globalResult[$j]["id"]);
}
}