Суть в том, что я пишу приложение, которое вводит текст в поле ввода и отправляет его.
Соответственно, на самом сайте написан JS код, который по событию ввода обрабатывает текст и по клику его отсылает через сокеты.
КОД с сайта, который создаёт форму ввода.
}, t.prototype.render = function() {
var e = Boolean(this.state.text && this.state.text.trim()) && !this.props.readOnly;
return s.default.createElement("div", {
className: "channel-footer"
}, this.renderAttachment(), s.default.createElement("form", {
className: "channel-footer-container",
ref: "container",
onSubmit: this.handleSubmit
}, s.default.createElement("span", {
className: "channel-footer-attach",
onClick: this.handleAttachmentShow
}), s.default.createElement("textarea", {
className: "channel-footer-input",
value: this.state.text,
ref: "textarea",
maxLength: o,
disabled: this.props.readOnly,
onFocus: this.props.collapseTopbar.bind(this, !0),
onBlur: this.props.collapseTopbar.bind(this, !1),
onChange: this.handleInput,
onKeyDown: this.handleInput
}), s.default.createElement("button", {
className: "channel-send-button",
type: "submit",
disabled: !e,
onTouchStart: this.handleSubmit
})))
},
Событие ввода текста
t.prototype.handleInput = function(e) {
e.target.value !== this.state.text && (this.setState({
text: e.target.value
}), window.localStorage.setItem("messenger-message-" + this.props.id, e.target.value), window.requestAnimationFrame(this.handleResize))
},
Мои действия, во первых нужно вставить в поле текст.
textarea[i].value = 'Вставляем текст';
Далее, раз событие handleInput таким методом вставки текста не вызывается, вызываем событие onChange для элемента.
textarea[i].initEvent("onChange", false, false);
либо так
var evnt = textarea[i]['onChange'];
evnt.call(textarea[i]);
Текст естественно вставляется в форму ввода, но ничего не происходит, отправить не выходить, событие всё равно не срабатывает. Другие события, типа onSubmit для формы итд уже отвечают за отправку, но перед отправкой, нужно чтобы текст лежал в переменной this.state.text или e.target.value - не знаю.
Кто что может подсказать по этому вопросу?