如何设置输入文本(没有ID或名称)值以及后续提交的输入文本?

时间:2018-02-23 00:46:23

标签: javascript

我一直在尝试使用此网站上的Chrome开发工具中的各种代码段:

http://kiwisdr.sk3w.se:8073/?#

这是在网络服务器上运行的软件定义无线电。 我想使用Javascript设置频率(并提交),以便我可以更改接收器当前调整到的频率。

在GUI上手动操作,用户只需输入一个频率(有或没有输入),输入框内的新频率就会被调整。

这是包含输入的网站的HTLM部分(没有ID或名称,因此我不确定如何正确地解决此问题):



<form id="id-freq-form" name="form_freq" action="#" onsubmit="freqset_complete(0); return false;">
  <input class="id-freq-input w3-input w3-border w3-hover-shadow" style="padding:0 4px;max-width:74px" size="8" onkeydown="freq_keydown(event)" onkeyup="freqset_keyup(this, event)" type="text" value="" onchange="w3_input_change('undefined', 'undefined')">
</form>
&#13;
&#13;
&#13;

我设法设定频率,但我仍然坚持如何提交频率。

这是我用来将频率输入框设置为某个值(1234.50)的代码:

&#13;
&#13;
targetForm = document.forms['form_freq'];
targetForm.elements[0].value = '1234.50';
&#13;
&#13;
&#13;

我已经尝试使用我找到的一些片段来触发keydown,keyup或更改事件,但我不确定我是否在表单中添加了正确的元素。

我想做的就是通过代码模仿用户输入: - )

有人可以通过查看输入在本网站上的工作方式以及如何使网站使用javascript更新当前收到的频率来指出我正确的方向吗?

感谢。

1 个答案:

答案 0 :(得分:0)

简短回答:

freqset_keyup(document.forms[1][0], null)

更好的答案:

function change_freq(new_freq) {
  var form = document.forms['form_freq'];
  var freq_input = form.elements[0];
  freq_input.value = new_freq;
  freqset_keyup(freq_input, null);
}

change_freq(1234.50)