javascript - CasperJS 提交后丢失选择框值

标签 javascript html-select casperjs

我有选择表格:

<div class="row">
  <div class="col-xs-18 form-group">
  <label class="text-base" for="Gender">Geschlecht</label>
    <select id="Gender" class="form-control" data-bind="value: gender, hasFocus: gender.focused, css: { 'has-error': showError(gender) }" name="Gender">
      <option value="" selected="selected">Ausw&auml;hlen...</option>
      <option value="m">M&auml;nnlich</option>
      <option value="f">Weiblich</option>
      <option value="u">Keine Angabe</option>
   </select>
  <div class="alert alert-error" aria-atomic="true" aria-relevant="text" aria-live="assertive" data-bind="errorMessage: gender, visible: showError(gender)" style="display: none;">Diese Informationen sind erforderlich.</div>
</div>

并这样填写:

casper.then(function() {
    this.evaluate(function(anrede_inside) {
        document.querySelector('select#Gender').value = anrede_inside;
    }, anrede);
});

到目前为止,它运行良好。但是当我提交页面时,我收到一条错误消息,指出我尚未填写性别值,并且该值已更改为默认值。我已经用截图检查过了。

提交在页面上:

<div class="col-xs-18">
   <input id="CredentialsAction" class="btn btn-primary btn-block" type="submit" value="Klick" title="Klick">
</div>

我这样点击它:

casper.then(function(){
    this.click('input[title*="Klick"]');
});

我也尝试过这样选择性别:

casper.then(function (){
    this.sendKeys('select#Gender', 'w');
});

这也在第一时间起作用,选择性别直到我点击提交按钮。有什么想法我做错了什么吗?或者对我可以选择表格的其他方式有什么想法吗?

最佳答案

你能试试下面这个吗? 我相信这会解决您的问题。

casper.then(function(){
   //select value "u" - Keine Angabe
   this.evaluate(function(selectValue){
       document.querySelector('select[id=Gender]').value = selectValue; 
       return true;
   }, "u"); //set value "u"
   this.capture('capture.png'); //see this image to confirm change
});
casper.then(function() {
    this.click('#CredentialsAction'); //click on input element by id
}); 

祝你好运!!!

关于javascript - CasperJS 提交后丢失选择框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37059528/

相关文章:

javascript - 关闭 jscript for 循环到 switch 语句

javascript - 如何在 iPad 上自动打开 HTML 选择菜单

struts2 - 如何在 Struts2 <s :select> tag? 中设置默认选定值

javascript - CasperJS/PhantomJS 在加载页面时卡住

javascript - CasperJS sendAjax 返回 null

javascript - 为什么 phantomJS 无法从此页面获取标记?

javascript - 在javascript中复制对象数组

javascript - 当我从点击回调中调用它时,颜色框看起来不正确

javascript - JQuery 从动态生成的下拉列表中获取选定的值

javascript - 如何将聪明的需求转换为导入?