onChange事件不会触发(onChange event doesn't trigger)

2019-06-25 09:24发布

我使用Internet Explorer 8和2007年的Sharepoint。

简介:我有从列表中各个领域NewForm。 我需要的,使用JavaScript,从领域之一,获得用户(在TextBox)推出了价值,并在同一页它贴在其他领域(其它的textBox),使用的onChange。

问题:我是一个JavaScript新手,我不能设置事件“的onChange”,以触发我的功能,或至少触发“警报(‘测试’)......或者干脆我做错了,并不知道为什么(更可能)...

假设我想与之合作领域有着为字段名=“IDTeam”,类型=“文本”和id =“id_TeamField”。

//My JS below "PlaceHolderMain"

_spBodyOnLoadFunctionNames.push("setTxtBoxesValues");

function setTxtBoxesValues()
{    
   //snipped

   getField('text','IDTeam').onChange = function(){alert('Test')}; 
   //"getField('text', 'IDTeam).onChange = function(){myFunction()};" 
   //If I want to call myFunction() when onChange event is triggered    
    }

另外,代替getfield命令的,试过这个:

document.getElementById('id_TeamField').onChange = function(){alert('Test')};

如果我想打电话给myFunction的()当onChange事件被触发

任何想法,我做错了什么?

Answer 1:

平变化是如此要么你把它放在这样的标签的事件:

<input type="text" id="IDTeam" onchange="(call function here)" />

或者你申请的addEventListener到DOM对象:

document.getElementById("IDTeam").addEventListener("change", function() {//call function here});

在IE6中,你可能需要:(不知道它的工作原理是几个人正在使用IE6现在)

document.getElementById("IDTeam").attachEvent("onchange", function() {//call function here} )


Answer 2:

做这个:

window.onload = function() { 
    document.getElementById('id_TeamField').addEventListener('change', function() {
        alert('test');
    });
};

或使用jQuery:

$('#id_TeamField').on('change', function() {
    alert('test');
});

酷,大家抄我的答案!



Answer 3:

你可以这样做

添加事件监听器

document.getElementById('id_TeamField').addEventListener('change', function(){alert('test');});

要么

添加的onChange的标签

<select onChange='function() { alert('test');}' name='IDTeam' id='id_TeamField' >
   <option>option1</option>
   <option>option2</option>
   <option>option3</option>
</select>


Answer 4:

这是一个有点多余其他人都在说,但份额,因为它是更直接:

 const select = document.getElementById('select') const newText = document.getElementById('newText') select.addEventListener("change", e => { console.log(e.target.value) newText.value = e.target.value }) 
 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>JS Bin</title> </head> <body> <select id="select"> <option value="url1">tool_ver1</option> <option value="url2">tool_ver2</option> <option value="url2" selected >tool_ver3</option> </select> <button type="submit">Retrieve New Release App Options</button> <div class="textInput spacer"> <h2>New Release App Options</h2> <textarea id="newText"></textarea> </div> </body> </html> 



文章来源: onChange event doesn't trigger