Javascript内部函数不起作用

时间:2014-08-19 11:57:16

标签: javascript

我有以下代码无效。当页面加载时以及当我将光标放在输入框上时,我没有得到两个警报框信息,输入框的类型为"密码"。这两种情况现在都不起作用。我需要让它发挥作用。有帮助吗?请

HTML

<div class="field">
<input name="ctl00$logInBox$UserName" type="text" maxlength="256" id="ctl00_logInBox_UserName" class="userName" autocomplete="off" placeholder="Username" />
<input name="ctl00$logInBox$Password" type="password" maxlength="256" id="ctl00_logInBox_Password" class="password" autocomplete="off" placeholder="Password" value="" />
</div>

的Javascript

<script type="text/javascript">
        window.onload = function () {

            var loginid = document.getElementById('ctl00_logInBox_Password');
            loginid.setAttribute('type', 'text');
            alert(loginid.type);
        }

        (function () {

            var loginFocus = document.getElementById('ctl00_logInBox_Password');
            loginFocus.focus = function () {
                this.type = "password";
                alert(this.type);
            }
        })();

    </script>

2 个答案:

答案 0 :(得分:1)

要获取属性类型,请使用getAttribute命令

 <script>
 function myFunction() {
    var set = document.getElementById("ctl00_logInBox_Password").setAttribute("type", "text");
    var get = document.getElementById("ctl00_logInBox_Password").getAttribute('type');
    alert(get);
 }
 </script>

答案 1 :(得分:1)

根据我的理解,您愿意检查输入的类型属性。

DEMO

请检查它,它可能会有所帮助。如果我误解了你的问题,请纠正我。

我刚刚补充道:

$('.password').focus(function () {
    var loginFocus = document.getElementById('ctl00_logInBox_Password');
    this.type = "password";
    alert(this.type);

});

<强> 更新

我现在尝试了如下:

 onfocus="this.type='password'; alert(this.type);"

Update Fiddle

DEMO: Using javascript