如何启用输入字段并同时设置值

时间:2017-11-20 14:04:12

标签: javascript html forms input disabled-input

<input type= "text" disabled id="ip1">
<button onclick=delete()/>
<script>
    function delete(){
  document.getElementById('ip1').value=''.disabled = false;
}
</script>

我想启用输入字段并在同一行中设置空白值。可能吗?因为我有12个输入字段,它们一次会表现相同。

7 个答案:

答案 0 :(得分:2)

你所拥有的是无效的语法。例如,您尝试访问字符串值上的.disabled属性,并尝试在一行代码上执行两个完全不同的赋值。

你做了两件事。你想要的是两行代码

document.getElementById('ip1').disabled = false;
document.getElementById('ip1').value = '';

或者,引入变量仅执行一次文档操作:

var element = document.getElementById('ip1');
element.disabled = false;
element.value = '';

答案 1 :(得分:1)

function deleteEl(){
  var el = document.getElementById('ip1');
  el.value = 'val';
  el.removeAttribute('disabled');
}
<input type= "text" disabled id="ip1">
<button onclick='delete()'>Delete</button>

您可以将元素存储在变量中,然后使用value将值设置为元素,并删除disabled使用removeAttribute('disabled')

不要在函数名中使用delete,它是javascript中的保留字。

答案 2 :(得分:1)

所以,如果你想要问题的答案,是的,可以用jQuery在一行中完成。没有理由在一行中完成它,因为单行的执行方式与多行解决方案的执行方式大致相同。在jQuery中,它看起来像这样:

if valueInArray(me.cbo.Column(0), Array("certain value 1","certain value 2")) then

使用vanilla javascript,需要多行解决方案:

$('#ip1').val('').prop('disabled', false);

如果需要,您还可以将两个单独的函数绑定到onclick:

document.getElementById('ip1').value = '';
document.getElementById('ip1').disabled = false;

例如:

<button onclick="doSomething();doSomethingElse();" />

如果您想节省空间或提高效率,则只需iterate through the elements using a class或其他内容。

答案 3 :(得分:0)

您必须将代码分开

<script>
    function delete(){
        document.getElementById('ip1').disabled = false;
        document.getElementById('ip1').value=''
    }
</script>

答案 4 :(得分:0)

你不能在一个声明中这样做。因此,如果要对多个元素执行此操作,则需要为此创建实用程序函数。

function enableAndSetValue(elm, value) {
  elm.disabled = false
  elm.value = value
}

enableAndSetValue(document.getElementById('ip1'), '')

答案 5 :(得分:0)

&#13;
&#13;
<script>
    function del() {
        var elem = document.getElementById('ip1');
        elem.disabled = false;
        elem.value = '';
    }
</script>

<input type= "text" disabled id="ip1">
<button onclick="del()">Button</button>
&#13;
&#13;
&#13;

答案 6 :(得分:0)

如果您提供完整的要求,可以提供更好的解决方案。

但是看到你当前的节目我会在你的网站上展示更新的代码。

&#13;
&#13;
function deleteIt() {
  var element = document.getElementById('ip1');

  element.value = '';
  element.disabled = false;
  element.focus();
}
&#13;
<input type="text" disabled id="ip1" />
<button onClick="deleteIt()">Delete</button>
&#13;
&#13;
&#13;

如果您有任何疑问,请随时发表评论。愿意帮助。:)