0

我有一个小问题,我正在尝试使用其中的文本启用禁用的“输入文本类型”。

function newForm(){
document.getElementsByName("name1").disabled = false;
document.getElementsByName("name1").value="TEST";
}

有了这个

<div id="passengers">
<div id="form">
    <table>
    <thead>
        <tr><th></th><th>Name</th><th>LastName</th><th>Date of Birth</th></tr>
    </thead>
    <tbody>
        <form id="formulaire" action="">
        <tr><th>Passenger #1</th><th><input type="text" name="name1" tabindex="1" disabled="true"/></th><th><input type="text" name="lastname1" tabindex="2" disabled="true"/></th><th><input type="text" name="date1" tabindex="3" disabled="true"/></th></tr>
    </table>
</div>
<input type="submit" value="New" onclick="newForm()"/><input type="submit" value="Send" disabled="true"/><input type="submit" value="Modify" disabled="true"/></form>
</div>
4

2 回答 2

1

getElementsByName返回一个元素集合试试这个

document.getElementsByName('name1')[0].disabled = true;
于 2013-06-02T00:18:31.580 回答
1

首先,将按钮的输入类型从submit更改为button

<input type="button" value="New" onclick="newForm()"/>

由于您的功能与提交表单无关(并且submit会导致不需要的行为)。

其次,getElementsByName返回一组对象,而不是一个元素。通过使用访问第一个元素来定位元素[0]

function newForm(){
  document.getElementsByName("name1")[0].disabled = false;
  document.getElementsByName("name1")[0].value="TEST";
}

这是一个工作的jsFiddle。

于 2013-06-02T00:33:14.200 回答