我一直在尝试使用此网站上的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;
我设法设定频率,但我仍然坚持如何提交频率。
这是我用来将频率输入框设置为某个值(1234.50)的代码:
targetForm = document.forms['form_freq'];
targetForm.elements[0].value = '1234.50';
&#13;
我已经尝试使用我找到的一些片段来触发keydown,keyup或更改事件,但我不确定我是否在表单中添加了正确的元素。
我想做的就是通过代码模仿用户输入: - )
有人可以通过查看输入在本网站上的工作方式以及如何使网站使用javascript更新当前收到的频率来指出我正确的方向吗?
感谢。
答案 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)