当前位置: 首页 > 面试题库 >

使用jQuery更改输入字段的类型

景鹏云
2023-03-14
问题内容
$(document).ready(function() {
    // #login-box password field
    $('#password').attr('type', 'text');
    $('#password').val('Password');
});

这应该将的#password输入字段(带有id="password")更改type password为普通的文本字段,然后填写文本“
Password”。

但是,它不起作用。为什么?

形式如下:

<form enctype="application/x-www-form-urlencoded" method="post" action="/auth/sign-in">
  <ol>
    <li>
      <div class="element">
        <input type="text" name="username" id="username" value="Prihlasovacie meno" class="input-text" />
      </div>
    </li>
    <li>
      <div class="element">
        <input type="password" name="password" id="password" value="" class="input-text" />
      </div>
    </li>
    <li class="button">
      <div class="button">
        <input type="submit" name="sign_in" id="sign_in" value="Prihlásiť" class="input-submit" />
      </div>
    </li>
  </ol>
</form>

问题答案:

很可能在浏览器的安全模型中阻止了此操作。

编辑:确实,现在在Safari中进行测试,我得到了错误type property cannot be changed

编辑2:这似乎是jQuery的错误。使用以下简单的DOM代码就可以了:

var pass = document.createElement('input');
pass.type = 'password';
document.body.appendChild(pass);
pass.type = 'text';
pass.value = 'Password';

编辑3:直接来自jQuery来源,这似乎与IE有关(可能是bug或其安全模型的一部分,但jQuery并非特定):

// We can't allow the type property to be changed (since it causes problems in IE)
if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode )
    throw "type property can't be changed";


 类似资料:
  • 我正在尝试用Angular构建一个简单的计算器,如果我想的话,我可以覆盖总数。我有这部分的工作,但当我回去输入一个数字在一个或两个领域的总数没有在该领域的更新。 这是我的jsfiddlehttp://jsfiddle.net/YUza7/2/ 形式 javascript

  • 创建一个在PHP服务器端无法理解的小管理员行更新程序。我希望sql查询只更新页面上已更改的$u POST字段,这样它就不会循环所有100条左右的记录。 我的做法如下: 1) jQuery侦听已更改的输入字段,然后为已更新的用户字段分配名称属性 2) PHP检测已设置更新的用户字段。 3) 在提交重新加载时,PHP检测到该输入,并按行ID更新SQL。如何确保PHP知道哪个输入字段指向哪个行ID? j

  • 问题内容: 我有一个包含许多输入字段的表单。 当我使用jQuery捕获Submit form事件时,是否可以在关联数组中获取该表单的所有输入字段? 问题答案: $(‘#myForm’).submit(function() { // get all the inputs into an array. var $inputs = $(‘#myForm :input’); 这是您可以使用的另一种方法 请

  • 试图找出以下原因: 日志“未定义”?第一个日志是“buyin”(无论我在框中键入什么),不确定我做错了什么。非常感谢您的帮助! 问候语, 布拉姆

  • 问题内容: 我有一个输入,其类型设置为隐藏,我需要将其类型更改为文本。似乎无法弄清楚这一点,或者jQuery是否可行 问题答案: 使用jQuery 1.4,您可以在分离输入时更改其类型。

  • 问题内容: 在事件上使用jquery时,仅当输入失去焦点时才会触发事件 就我而言,我需要在输入值更改后立即调用该服务(检查值是否有效)。我该怎么做? 问题答案: 更新为澄清和示例 方法1。事件 在现代浏览器中使用事件。当用户在任何时候将值从一个值更改为另一个值时,都将在用户键入文本字段,粘贴,撤消操作时触发此事件。 在jQuery中这样做 从jQuery 1.7开始,替换为: 方法2。事件 对于较