我使用Internet Explorer 8和Sharepoint 2007。
简报:我有一个包含列表中各个字段的NewForm。我需要使用javascript从其中一个字段获取用户引入的值(在textBox中)并使用onChange将其粘贴到同一页面中的其他字段(其他textBox)上。
问题:我是一个JavaScript新手,我不能设置事件'onChange'来触发我的功能,或者至少触发'警告(“测试”)...或者只是我正在做它错了,不知道为什么(更有可能)......
假设我想要使用的字段为FieldName =“IDTeam”,type =“text”和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')};
如果我想在触发onChange事件时调用myFunction()
知道我做错了什么吗?
答案 0 :(得分:6)
onchange是一个事件,所以要么把它放在标签中,如下所示:
<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} )
答案 1 :(得分:2)
这样做:
window.onload = function() {
document.getElementById('id_TeamField').addEventListener('change', function() {
alert('test');
});
};
或者使用jQuery:
$('#id_TeamField').on('change', function() {
alert('test');
});
很酷,每个人都复制了我的答案!
答案 2 :(得分:0)
您可以通过
执行此操作添加事件监听器
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>
答案 3 :(得分:0)
这比其他人都说的有点多余,但可以分享,因为它更直接:
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>