我正在尝试使用GreaseMonkey脚本执行onchange
函数,我正在使用此代码:
var element = document.getElementById("country");
if ('fireEvent' in element)
element.fireEvent("onchange");
else {
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
element.dispatchEvent(evt);
}
document.getElementById("country").value = "3";
但是它一次又一次地执行/重新加载,那么我怎么能只执行一次呢? 我正在尝试在这个HTML代码上执行脚本:
<select name="country" id="country" onchange="form.submit()" style="width:300px;">
<option value="0">Select Country</option>
<option value="1">US</option>
<option value="2">UK</option>
<option value="3">FR</option>
</select>
答案 0 :(得分:0)
每次对select进行更新时都会触发Onchange。加载后,对select元素进行更新,将第一个元素设置为selected。这会自动触发表单提交。如果表单上没有action属性,则会将其提交到同一页面,或者操作是否在同一页面上。整个周期再次开始。
答案 1 :(得分:0)
所以你加载HTML
触发事件onchange
触发form.submit()
将您带到第1步?
感觉onchange="form.submit()"
是罪魁祸首。但你需要分享更多。