[[再次更新]] 如果这个问题变得冗长,我很抱歉。
我是一名业余编码员,我正在寻求有关 javaScript 中的语法和功能的帮助,这将允许复制的分隔符(例如“\t”和“\n”)以<input>
在线形式跳过适当的 's。
我想我现在大约 33% 在那里(再次:爱好编码 - 自学想要成为)
<script type="text/javascript">
function splitInput()
{
var x=document.forms["simpleForm02"]["dataInput_0"].value;
var delimiterT = x.split("\t");
var delimiterN = x.split("\n");
for (var i=0;i<delimiterT.length;i++)
if (x.indexOf("\t") >-1)
{
document.getElementById("dataInput_" + i ).value = (delimiterT[i]);
}
else
for (var i=0;i<delimiterN.length;i++)
if (x.indexOf("\n") >-1)
{
document.getElementById("dataInput_" + (i * 3) ).value = (delimiterN[i]);
}
}
</script>
<form name="simpleForm02">
<table>
<tr>
<th>Color</th>
<th>Model</th>
<th>Qty</th>
</tr>
<tr>
<td><input class="colorInput" id="dataInput_0" name="colorInput_row_1" value="" onKeyUp="splitInput()"></td>
<td><input class="modelInput" id="dataInput_1" name="modelInput_row_1" value="" onKeyUp=""></td>
<td><input class="qtyInput" id="dataInput_2" name="qtyInput_row_1" value="" onKeyUp=""></td>
</tr>
<tr>
<td><input class="colorInput" id="dataInput_3" name="colorInput_row_2" value="" onKeyUp=""></td>
<td><input class="modelInput" id="dataInput_4" name="modelInput_row_2" value="" onKeyUp=""></td>
<td><input class="qtyInput" id="dataInput_5" name="qtyInput_row_2" value="" onKeyUp=""></td>
</tr>
<tr>
<td><input class="colorInput" id="dataInput_6" name="colorInput_row_3" value="" onKeyUp=""></td>
<td><input class="modelInput" id="dataInput_7" name="modelInput_row_3" value="" onKeyUp=""></td>
<td><input class="qtyInput" id="dataInput_8" name="qtyInput_row_3" value="" onKeyUp=""></td>
</tr>
</table>
</form>
这段代码有点工作,以一种有限的方式。如果我复制并排对齐的三个 excel 单元格并将其粘贴到<input class="colorInput" id="dataInput_0" name="colorInput_row_1" value="" onKeyUp="splitInput()">
中,则脚本会正确拆分并将三个单元格的内容粘贴到前三个输入中。
但是,我显然在脚本中存在缺陷,因为它根本无法识别 '\n' 分隔符。而且我也知道我在这种情况下存在编码问题:将代码相对地应用于所有单元格,而不仅仅是["dataInput_0"]
.
假设我在 Excel 工作表中有以下数据:
我试图找到这样的功能,如果我复制上面的 Excel 示例数据,它将覆盖/写入示例中输入的前 6 个<form name="simpleForm">
。
对不起,啰嗦了。