如果预设值,则获取输入值

Get input value if values is pregiven

本文关键字:获取 输入 如果      更新时间:2023-09-26

这将返回输入的原始值,而不是编辑后的值。

<input type='text' value='test'>
this.parentNode.getElementsByTagName('input')[0].value

js事件在onchange

我现在是这样的,我没有得到它的输入…

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);
                    }
                }
            };

请尝试这个演示来学习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,我认为这符合您的需求。

你可以这样做

html

<input type='text' value='test' onchange="dostuff(this)" />

js

function dostuff(s) {
    alert(s.value);
}

here is a fiddle

如果这不适合你的情况,请告诉我们你是如何绑定的js代码在你的问题和输入在html代码

<input type='text' value='test' onchange="dostuff(this.value)" />
function dostuff(value) {    
    alert(value);    
}