Показать сообщение отдельно
  #4 (permalink)  
Старый 23.08.2015, 21:00
Аватар для EmperioAf
Профессор
Отправить личное сообщение для EmperioAf Посмотреть профиль Найти все сообщения от EmperioAf
 
Регистрация: 15.01.2015
Сообщений: 622

Сообщение от scorpion95
Uncaught ReferenceError: asd is not defined
Судя по ошибке после клика интерпретатор ищет переменную asd и выдаёт ошибку, т.к. в этом коде:
userprofile(' + JSON[i] + ')

переменной asd нет.
Вот пример как можно исправить это:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="Keywords" content="">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ГГ</title>

<style>
*{
    margin:0;
    padding:0;
    outline: 0;
}

.button {
    width: 200px;
    height: 200px;
    border: 1px solid red;
    background: #08c;
    margin: 20px;
}

.innerbutton {
    width: 100px;
    height: 100px;
    background: green;
}
</style>
</head>
<body>
<div class="button">Жми</div>
<div class="button">Результат</div>
<script>
var a = document.querySelector('.button:first-child');
var b = document.querySelector('.button:nth-child(1)');
var b1 = 3;
var b2 = 'asd';
a.onclick = function(){
  b.innerHTML = "<div class='innerbutton' onclick=\"userprofile("+"\'"+b2+"\'"+")\"></div>";
}

function userprofile(user){
  alert(user);
}
</script>
</body>

</html>

в общем надо использовать \' и \" если нужно чтобы была строка, а не переменная
Ответить с цитированием