-8

たとえば、私はそのコードを持っているとしましょう:

<form id="validate_form2">
    <ul>
        <li>
            <label for="nome">Nome:</label>
            <input id="nome" type="text">
        </li>
        <li>
            <label for="email">Email:</label>
            <input id="email" type="text">
        </li>
        <li>
            <label for="phone">Phone:</label>
            <input id="phone" type="text">
        </li>
    </ul>
</form>

「VALIDATE_FORM2」フォーム内のID = 'email'でTYPEをINPUTから変更するにはどうすればよいですか?

4

1 に答える 1

1

jqueryでこのようにすることができます-それをdom要素に戻す必要があります

$('#email')[0].type = 'password';​​​​​​
// or using .prop $('#email').prop('type','password');​​​​​​

http://jsfiddle.net/68ZPh/

または単なるjs

document.getElementById('email').type = 'password';

http://jsfiddle.net/tHWwZ/

コメントで述べたように、これにより IE で問題が発生する可能性があります。

jQuery .attr()ドキュメントから

注: jQuery では、 or 要素の type 属性を変更することは禁止されており、すべてのブラウザーでエラーがスローされます。これは、Internet Explorer では type 属性を変更できないためです。

別の方法は、新しい入力を作成してそれを置き換えることです

$('#email').replaceWith('<input type="password" id="email"/>');

http://jsfiddle.net/uVXvk/

于 2012-12-04T15:53:54.727 に答える