2011-06-29 3 views
0

Надеюсь, это подходящее место для этого вопроса. У меня есть функция, которая принимает два аргумента, которые поступают из базы данных mysql и хранятся в переменной php. первый аргумент - это int, а второй аргумент - строка. Эти переменные передаются в мою функцию javascript, но когда функция вызывается, первый аргумент правильный, но второй аргумент не определен, и мой браузер переходит в режим отладки.Неопределенный аргумент в пользовательской функции javascript

Это часть моего PHP кода, которая вызывает яваскрипт функции:

"<td><a href='javascript: confirmDelete(".$row['users_info_id'].", ".$row['firstname'].")' id='delete'>Delete</a></td>" 

Это мой Javascript функция:

function confirmDelete(id, dealer){ 
    alert(id + "<br />" + dealer); 
    //var answer = confirm("Are you sure you want to delete " + dealer + "?"); 
    //if(answer == true){ 
     //window.location = "process_dealers.php?delete=" + id; 
     //alert("Dealer has been deleted from the database!");     
    //} 
    //else{ 
    //alert("Dealer has not been deleted from the database!"); 
    //}    
} 

я заметил большую часть кода таким образом я могу видеть, что возвращается в функции предупреждения. Первый аргумент возвращает правильное значение, но второй аргумент возвращает имя дилера, но не определено. Я пробовал все и провел прошлой ночью, и этот мортик пытается понять это. Я был бы очень признателен за любые предложения.

+1

Можете ли вы опубликовать код, который вызывает функцию 'confirmDelete'? Похоже, вы не передаете значение «дилер» при его вызове. –

+0

Можете ли вы показать нам, где эта функция вызывается? –

+0

@Francois - 'Delete Ray

ответ

3

Ваша проблема заключается в том, что при вызове функции аргумент строки должен быть процитирован. Аргумент int отлично работает, потому что ints не нужно указывать.

"<td><a href='javascript: confirmDelete(".$row['users_info_id'].", \"".$row['firstname']."\")' id='delete'>Delete</a></td>" 

Обратите внимание на цитаты $row['firstname']. Он не был определен, потому что без кавычек JavaScript обрабатывал значение как имя переменной, а не строку.

Смежные вопросы