Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 行元素,这些空白从何而来?_Javascript_Html_Dom - Fatal编程技术网

Javascript 行元素,这些空白从何而来?

Javascript 行元素,这些空白从何而来?,javascript,html,dom,Javascript,Html,Dom,首先:我的问题是,通过DOM将字符串从一行插入表单的多个字段中,值出现时会有很多空格,包括开头和结尾 我想做的是: 在我双击的行中查找单元格的值,并将这些值放入表单的字段中 HTML相当于: <form> <fieldset> <legend> Very Important </legend> <label for="input_representing_all_the_inputs"> <input

首先:我的问题是,通过DOM将字符串从一行插入表单的多个字段中,值出现时会有很多空格,包括开头和结尾

我想做的是: 在我双击的行中查找单元格的值,并将这些值放入表单的字段中

HTML相当于:

<form>
  <fieldset>
    <legend> Very Important </legend>
    <label for="input_representing_all_the_inputs">
    <input id="input_representing_all_the_inputs"></input>
  </fieldset>
</form>

<table id="issue_table" class="sortable", border="1" >
  <tr ondblclick="values_into_form(issue_table)">
    <td>
      a value
    </td>
    <td>
      another one
    <td>
  </tr>
  <tr ondblclick="values_into_form(issue_table)">
    <td>
      here's also another value
    </td>
    <td>
      aaand one more.
    </td>
  </tr>
</table>

<table id="not_the_issue_table" class="sortable", border="1">
 [...] blabla looks similar [...]
</table>

非常重要
价值
另一个
这里还有另一个值
啊,还有一个。
[…]布拉布拉看起来很像[…]
现在我得到了一个js函数,可以从表中查找值并将它们放入表单中

function values_into_form( id ) {
  //find index of row with given id
  for (i = 0; i<= document.getElementById("accl_content").rows.lenght; i++){
    if ( document.getElementById("issue_table").rows[i].id == id) {
        var idx = i;
        break;
    }
  }

  // now insert the values into the editor-form
  document.getElementById("input_representing_all_the_inputs" =
    document.getElementById("issue_table").rows[idx].cells[0];
  // repeat the above for each input_field with the specific cell_idx.
  }
}
函数值转换为形式(id){
//查找具有给定id的行的索引

对于(i=0;i将html更改为:

<table id="issue_table" class="sortable", border="1" >
  <tr ondblclick="values_into_form(issue_table)">
    <td>a value</td>
    <td>another one<td>
  </tr>
  <tr ondblclick="values_into_form(issue_table)">
    <td>here's also another value</td>
    <td>aaand one more.</td>
  </tr>
</table>

价值
另一个
这里还有另一个值
啊,还有一个。

空格是因为在html中有空格。当然,您可以使用javascript去除开头和结尾的空格。但如果您不想这样做,上述解决方案应该会起作用。

htmljavascript分开是一种很好的做法

JavaScript

var myTable = document.getElementById("myTable");
var myInput = document.getElementById("myInput");
var td = myTable.getElementsByTagName("td");
for(var i = 0; i < td.length; i += 1) {
    td[i].addEventListener("dblclick", function() {
        myInput.value = this.innerHTML;
    });
}
var myTable=document.getElementById(“myTable”);
var myInput=document.getElementById(“myInput”);
var td=myTable.getElementsByTagName(“td”);
对于(变量i=0;i

请加一把小提琴,这样我们就可以看到issue@Sempie不知道为什么这个答案最初被否决了,这是正确的。下面的一个例子说明了为什么:不在一行中添加eventListener,而是在它的每个单元格中添加eventListener的好处是什么?一般来说是好的,我知道,但这也可以按行存档。我删除了第一句话。是的,y你可以通过在每一行中添加一个事件监听器来实现它。如果你有100行,你总是必须添加事件监听器。如果你忘记了一个……除了HTML之外的JavaScript,你只能用表的id访问表的每个单元格!你不必太在意HTML。