我正在使用Nodstrum提供的精彩教程。我试图用PHP,MYSQL和AJAX自动填充多个文本字段。我有一个PHP脚本,这是返回结果的代码行:
echo '<li onClick="fill(\''.$result->name.'|'.$result->id.'\');">'.$result->name.'</li>';
请注意,我正在使用管道字符分隔我的结果。
这是我收到错误'未定义或不是对象'的函数我正在分析值并使用pipestem分割mysql中的值。
function fill(thisValue) {
myvalues=thisValue.split('|') {
$('#inputString').val(myvalues[0]);
$('#email').val(myvalues[1]);
}
window.setTimeout("$('#suggestions').hide();", 200);
}
如果我确定错误信息,我最终会看到文本字段中显示的两个值,所以我相信我正在从MySQL正确地检索这些值。我感谢任何人可以提供的任何帮助,让我在正确的方向或新的视角。 再次感谢, --Matt
答案 0 :(得分:0)
试试这个:
function fill(thisValue) {
myvalues=thisValue.split('|');
$('#inputString').val(myvalues[0]);
$('#email').val(myvalues[1]);
window.setTimeout("$('#suggestions').hide();", 200);
}
答案 1 :(得分:0)
您传递的值变为thisValue为null或未定义。您可以在盲目尝试.split之前测试此参数(split函数仅适用于字符串)。
function fill(thisValue) {
// "value" will always be a string
var value = thisValue ? String(thisValue) : '';
// this line will not generate an error now
var myvalues=value.split('|');
// but these ones might! make sure the length of myvalues is at least 2
if (myvalues.length >= 2) {
$('#inputString').val(myvalues[0]);
$('#email').val(myvalues[1]);
}
// this might need to go inside the above if
window.setTimeout("$('#suggestions').hide();", 200);
}