Показать сообщение отдельно
Старый 08.02.2012, 23:43   #3
YellowAfterlife
ПроЭктировщик
 
Аватар для YellowAfterlife
 
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений
(для 219 пользователей)
Ответ: Gadget самописка

Не хотелось бы казаться грубым, но ваш код немного дерьмо.
Написал пример:
<html>
<
head>
<
title>Cat knows what is good for you.</title>
<
style type="text/css">
body {
    
font-familyVerdanaArialSans;
    
font-size12px;
}
#container {
    
width480px;
}
#lines {
    
padding4px;
    
background#f7f7f7;
    
border1px solid #ccc;
}
#input {
    
width450px;
    
padding2px;
}
#inbtn {
    
floatright;
    
width25px;
}
.
line {
    
margin-top4px;
    
padding-left2px;
    
border-left3px solid #eee;
}
.
line_neutral border-left-color#ccc; }
.line_user border-left-color#d87; }
.line_system border-left-color#78e; }
</style>
</
head>
<
body onLoad="init();">
<
div id="container">
<
div id="lines"></div>
<
button type="button" id="inbtn" onClick="user_input();">&gt;</button>
<
input type="text" id="input" onChange="user_input();">
</
div>
<
script type="text/javascript">
var 
lines = []; // pointers to text <div>'s
var lines_el document.getElementById('lines'); // main text <div>
var input_el document.getElementById('input'); // input field
var questions = [
    
// questions to be asked randomly:
    
"What's your name?",
    
'Do you like single-quoted strings?',
    
'Insert more questions here, okay?'
];
function 
random(n) { return Math.floor(Math.random() * n); }

function 
line_onclick(event) {
    
lines_el.removeChild(this);
    
lines.splice(lines.indexOf(this), 1); // remove this element from lines array
}

function 
line_add(texttype) {
    var 
el document.createElement('div'); // create a new div
    
el.innerHTML text// set contents
    
el.onclick line_onclick// bind click event
    
if (type === undefinedtype 'neutral'// default type if not specified
    
el.className 'line line_' type// set <div> class property
    
lines_el.appendChild(el); // add it to lines containers
    
lines.push(el); // add it to list
}

function 
feedback(text) {
    
// convert to lowercase, for easier processing:
    
text text.toLowerCase();
    
// handle input text here:
    
if (text == 'hi' || text == 'hello') return 'How are you?';
    
// return random question:
    
return questions[random(questions.length)];
}

function 
user_input() {
    var 
text input_el.value// get input
    
line_add(text'user'); // add user input line
    
line_add(feedback(text), 'system'); // add answer line
    
input_el.value ''// reset input text
}

function 
init() {
    
lines_el.innerHTML ''// reset contents of lines box
    
line_add('Example by YellowAfterlife');
    
line_add('Hello, user''system');
}
</script>
</body>
</html> 
Если нужно по Enter делать действия, то нужно привязать onkeydown событие (keydown для старых IE).
__________________

Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
(Offline)
 
Ответить с цитированием