html (+javascript ?): события

Corrector

Как сделать такое:
есть поле для ввода, при изменении текста в нем синхронно должен изменяться текст в другом поле:
см. рис:

через события в яваскрипт толково сделать не получилось.

slonishka

а там, откуда взят пример, нельзя посмотреть?

Corrector

нельзя, т.к. я сам его придумал

artimon

См. onkeyup
Хотя bachan прав и проще посмотреть код на той страничке.

Corrector

еще раз: этой странички не существует. Можешь считать, что она нарисована в фотошопе.
насчет KeyUp: а если текст был вставлен мышкой из буфера обмена?

artimon

onmouseup, onpaste и т.д.
Посмотри наконец в какой-нибудь не очень древний справочник по JS.

Helga87

Дополнительно поставь таймер, который раз в секунду будет вызывать обновление вне зависимости от событий

splinter

Попробуй так
<html>
<head>
<title>Untitled Page</title>
</head>
<body>
<script language="javascript" type="text/javascript">
function getElement(e,f)
{
if(document.layers)
{
f=(f)?f:self;
if(f.document.layers[e])
{
return f.document.layers[e];
}
for(W=0;i<f.document.layers.length;W++)
{
return(getElement(e,fdocument.layers[W];
}
}
if(document.all)
{
return document.all[e];
}
return document.getElementById(e);
}
function synch
{
var label = getElement("Label1");
var textbox = getElement("Text1");
label.innerText = textbox.value;
}
</script>
<form id="form1">
<table style="width: 243px">
<tr>
<td style="width: 63px; height: 27px">
Type</td>
<td style="width: 96px; height: 27px">
<input id="Text1" type="text" onkeyup="synch" /></td>
</tr>
<tr>
<td style="width: 63px; height: 26px">
Text</td>
<td style="width: 96px; height: 26px">
<span ID="Label1" Width="133px"></span></td>
</tr>
</table>
</form>
</body>
</html>

Andbar

Попробуй так
при вставлении через контекстное меню мышки не обновляется, во всяком случае - у ослика.

Andr163

onpropertychange в ИЕ вроде пашет
по ходу только в ИЕ и пашет

Andr163


<html>
<head>
<script>
function updateInput
{
var ela = document.getElementById ("a");
var elb = document.getElementById ("b");

var todel = elb.childNodes[0];
if (todel)
{
elb.removeChild (todel);
}
var d_new = document.createTextNode(ela.value);
elb.appendChild (d_new);
}
</script>
</head>
<body>
<input id="a" onpropertychange="updateInput;" oninput="updateInput;"/>
<div id="b"></div>
</body>
</html>

единственное, не отрабатывает при драг н дропе в фф
для оперы решение не придумывал
Оставить комментарий
Имя или ник:
Комментарий: