У меня есть форма, которая рассчитывается по мере заполнения. Я хочу заполнить эту форму через каспер и получить результат. В своей форме я делаю расчет размытия каждого поля. Как я могу запустить событие размытия с помощью casperJS?
В любом случае, в моей форме, когда текстовое поле размыто, запускается вызов ajax. Я просто хочу сделать это
@DavidKamer Я спрашиваю, как вызвать событие размытия, когда запускается событие casper
Рассмотрим эту простую HTML-форму:
<form id = "example">
<input name = "value_one" type = "text" onblur = "addition()">
<input name = "value_two" type = "text" onblur = "addition()">
</form>
Допустим, запущена следующая функция JavaScript onblur
:
function addition() {
var value_one = document.getElementsByName('value_one')[0].value;
var value_two = document.getElementsByName('value_two')[0].value;
var result = document.getElementById('result');
result.textContent = parseInt(value_one) + parseInt(value_two);
}
Вы можете использовать следующий скрипт CasperJS для получения результата:
var casper = require('casper').create();
casper.start('https://www.example.com/', function () {
this.fill('#example', {
value_one: '5',
value_two: '10',
});
this.echo(this.getElementInfo('#result').text); // Result: 15
});
casper.run();
Проблема в том, что я заполняю форму в Knockout
.
Согласно спецификации вы можете просто запустить собственную функцию размытия:
casper.evaluate(function(){
document.querySelector('.some-element').blur();
});
Вы спрашиваете, как можно запустить событие каспера при запуске события размытия или как запустить событие размытия при запуске события каспера? Вам не нужно использовать casper для запуска собственного события javascript, если вы спрашиваете, как вызвать событие размытия.