2

我想问一下,使用这种方法赋值后如何获取文本框的值?

$(document).ready(function() {
    $('#job_description').val('This is test');
});

将值分配给文本时,不再使用 Casperjs 方法进行访问

console.log(this.fetchText('#job_description'));

但是如果我使用这种方法输入值

<textarea name="" id="job_description"> This is test </textarea>

然后可以使用此方法访问

console.log(this.fetchText('#job_description'));
4

1 回答 1

2

问题是fetchText检索元素的文本子元素。但是当你使用

$('#job_description').val('This is test');

要设置 textarea 值,您实际上设置了 textarea 的一个属性。这不会以任何方式更新 textarea 的innerHTML/ children。您需要像这样检索值:

var text = casper.evaluate(function(){
    return document.querySelector('#job_description').value;
});

或这个

var text = casper.evaluate(function(){
    return $('#job_description').val();
});
于 2014-07-08T19:27:13.573 回答