这使我返回输入的原始值而不是编辑的输入值。
<input type='text' value='test'>
this.parentNode.getElementsByTagName('input')[0].value
on oncha上的js事件
我现在就这样,我没有得到它的输入......
var inputs=document.getElementById('wrap').getElementsByTagName('input');
for (var i = inputs.length - 1; i >= 0; i--) {
inputs[i].onchange=function(){
var x=this.parentNode.appendChild(document.createElement("a"));
x.innerHTML="upravit";
x.onclick=function(){
var hr = new XMLHttpRequest();
console.log(this.parentNode.getElementsByTagName('input')[0].value);
即使是console.log本身也会返回默认值而不是新值......
var vars = "menu=1&name=";
hr.open("POST", "Ajax/UpdateCategory.php", true);
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
hr.onreadystatechange = function(){
if(hr.readyState==4&&hr.status==200){
var return_data = hr.responseText;
if(return_data!="ok"){
alert(return_data);
}
}
}
hr.send(vars);
}
}
};
答案 0 :(得分:0)
你可以这样做
HTML
<input type='text' value='test' onchange="dostuff(this)" />
JS
function dostuff(s) {
alert(s.value);
}
这是一个fiddle
如果这不适合您的情况,请告诉我们您如何将问题中的js代码与html代码中的输入绑定。
答案 1 :(得分:0)
请尝试此演示以了解onchange处理程序:http://www.w3school.com.cn/tiy/t.asp?f=hdom_onchange
并与此演示进行比较:http://www.w3school.com.cn/tiy/t.asp?f=hdom_onkeyup
然后你会知道,只需使用onkeyup()代替就行了。
===编辑内容=== HTML:
<!DOCTYPE html>
<html>
<head>
<title></title>
<script>
window.onload = function () {
var inputs=document.getElementById('wrap').getElementsByTagName('input');
var x=document.createElement("a");
var data;
x.innerHTML="upravit";
x.onclick=function(){
alert(data);
}
for (var i = inputs.length - 1; i >= 0; i--) {
inputs[i].onchange=function(){
this.parentNode.appendChild(x);
data = this.value;
}
}
};
</script>
</head>
<body>
<div id="wrap">
<input type='text'>
<input type='text'>
<input type='text'>
</div>
</body>
</html>
请在您当地的环境中运行此HTML,我认为这符合您的需求。
答案 2 :(得分:0)
<input type='text' value='test' onchange="dostuff(this.value)" />
function dostuff(value) {
alert(value);
}