PHP和MYSQL AJAX - 自动填充多个文本字段

时间:2011-06-10 12:35:17

标签: php mysql ajax

我正在使用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

2 个答案:

答案 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);
}