2016-03-19 63 views
3

我想要编写一个bookmarklet类型的东西,它将在点击时执行并自动填充值。选择特定选项后显示隐藏字段

我能够通过

document.getElementById('component').value="IAE-Data Agent"; 
document.getElementById('component').onchange(); 

选择值,但它并不隐藏里显示是fields.This写在页面中选择框,我想以后在里显示字段中手动选择框后的JavaScript代码。

showFieldWhen('cf_agents', 
      'component', ['IAE-Data Agent']); 

我尝试执行该功能和许多其他方式仍然不显示这些字段。

之前手动选择(当字段是隐藏的)

<th class="field_label bz_hidden_field" id="field_label_cf_agents"> 
     <label for="cf_agents"> 
     <a title="A custom Free Text field in this installation of Bugzilla." class="field_help_link" href="page.cgi?id=fields.html#cf_agents">Agent Class Name:</a> 
    </label> 
    </th> 

显示后场:

<th class="field_label" id="field_label_cf_agents"> 
     <label for="cf_agents"> 
     <a title="A custom Free Text field in this installation of Bugzilla." class="field_help_link" href="page.cgi?id=fields.html#cf_agents">Agent Class Name:</a> 
    </label> 
    </th> 

只有类atrribute changes.I尝试过很多方法,但仍throught剧本我是个无法做到。

当我使用硒脚本

Select dropdown = new Select(driver.findElement(By.id("component"))); 
    dropdown.selectByValue("IAE-Data Agent"); 

,我能够看到隐藏的领域越来越displayed.But,因为我不想运行Java应用程序做任务是不可行的。

还有什么其他方法可以尝试显示这些fields.If JavaScript代码不工作是有可能通过书签或其他方式执行硒代码来完成它。

+0

我想通过我们的代码 – Ravi

+0

document.getElementById('field_label_cf_agents')。className =“field_value”;直接更改班级名称 – Ravi

+0

如果您已经解决了自己的问题,请发表一个答案并'接受'它 - 所以这对后代显而易见。 –

回答

0

与选择选项box.I后的场的变化的类属性都直接使用代码

document.getElementById('field_label_cf_agents').className="field_value"; 

这个代码直接改变类名属性,因此场得到了显示。