JavaScript填充和清除<input />文本框

时间:2014-01-09 10:31:34

标签: javascript html arrays

我有6个“textboxex”和一个带有它们的数组。 <input id="slot0" type="text" /> id从0到5,也是名为"slotarray"的数组。我希望arrray和textboxes与slotarray[0]等绑定input id="slot0"

首先我需要的函数将在数组中找到第一个空字段(无论相应的文本框是否为空 - 但应该)并将字符串放入(短字符串 - 短代码如“abc”或“sp1”)。 此函数还需要使用长字符串填充绑定的文本框。 如果slotarray[2] == 'abc'然后ID中的号码相同(此处为id="slot2"),则需要包含“Abrasive Brilliant Conexant”等长字符串。

我在这里得到了什么

<a href="#" onclick="populate('abc','Abrasive Brilliant Conexant');"> click to populate </a>

然后功能

 function populate(shortstring,longstring) {
  for (var i=0; i<6; i++) {
    if (slotarray[i] == '') {
      slotarray[i] = shortsrting;
      slotid = 'slot' + i;
      document.getElementById(slotid).value = longstring;
      break;
     }
   }
 }

在创建时清除:{Array('','','','','',''))和文本框.value='';,其工作正常。

但后来我发现我需要清除文本框和绑定数组字段的功能。并非只有一个特定的一个clic。所以我开始编写

而不是6个函数
<a href="#" onclick="clear(0,'slot0');"> clear this field </a>

对于每个文本框,具有不同的数字和ID,以及清除功能:

function clear(arrayid, slotid) {
  slotarray[arrayid] = '';
  document.getElementById(slotid).value = '';
}

但是这个函数不会清除文本框和数组。我看到文本框有文本,我知道数组没有被清除,因为第一个函数可以找到第一个空对象......

我在这里做错了什么?它定义为“空”/“清除”提交/文本框?也许我需要使用更复杂的条件?也许这是别的东西。 也许我不需要数组(我可以设法摆脱短代码),只是让函数只在文本框上工作?

好的 - 我用这个准备了jsfiddle demo,但即使填充也不起作用..

http://jsfiddle.net/BYt49/11/

2 个答案:

答案 0 :(得分:2)

您不能使用关键字clear,因为它引用了(已弃用的)函数document.clear;所以尝试更改“清除”功能的名称。

答案 1 :(得分:1)

好的,无论你写的什么都没关系。 Just change to way你打电话给你的javascript。

这是jsfiddle:http://jsfiddle.net/BYt49/20/