Javascript 使用dispachEvent预先填充表单feld不会';在IE中不工作,在rest所有浏览器中工作正常
我的应用程序是使用React创建的。通过使用dispatchEvent,我试图使用JS预先填充表单字段值。它在所有浏览器中都能正常工作,但在IE11中却不能 IE控制台显示对象不支持错误 我用来预先填充表单字段的代码Javascript 使用dispachEvent预先填充表单feld不会';在IE中不工作,在rest所有浏览器中工作正常,javascript,jquery,reactjs,Javascript,Jquery,Reactjs,我的应用程序是使用React创建的。通过使用dispatchEvent,我试图使用JS预先填充表单字段值。它在所有浏览器中都能正常工作,但在IE11中却不能 IE控制台显示对象不支持错误 我用来预先填充表单字段的代码 $(document.body).on('change', '#retailer', function() { var retail_val = $(this).val(); //Storing the retailer value in the
$(document.body).on('change', '#retailer', function() {
var retail_val = $(this).val();
//Storing the retailer value in the respective hidden text field.
if (retail_val != "0") {
var el = document.getElementById("text_6551650686371-InputField");
el.value = retail_val;
//calling the function
doEvent(el, 'input');
}
if (retail_val == "0") {
var el = document.getElementById("text_6551650686371-InputField");
el.value = "";
//calling the function
doEvent(el, 'input');
}
});
function doEvent(obj, event) {
event = new Event(event, {
target: obj,
bubbles: true
});
return obj ? obj.dispatchEvent(event) : false;
}
注意:我尝试使用.val()方法,因为我的应用程序是使用react创建的,所以它不起作用。请帮助我在IE中预先填写表单字段值。此外,当我更改选项卡时,字段中的值将关闭。我不确定为什么需要触发事件,但我认为这应该可以做到:
$("#text_6551650686371-InputField").val(retail_val).trigger("input");
根据,如果您将事件名称更改为“textinput”(在检查浏览器后执行此操作)为什么不使用
jQuery.event
和.trigger()
?我需要如何准确放置以及在何处触发?请给我推荐一个代码片段。我用过上面的代码,但是它在前端更新了,输入的实际值属性没有更新。我认为这个应用程序是在react中完成的,这可能是一个冲突??我发布的上述代码在除IE之外的所有浏览器中都运行良好。