Forms 可提交的在线表单如何识别(\t)&;(\n)分隔符和跳过(<;输入>';使用“从Excel复制粘贴”时是什么情况?
[[再次更新]]如果这个问题变得冗长,我很抱歉 我是一名业余程序员,我正在寻找javaScript中语法和功能方面的帮助,这将允许复制的分隔符(如“\t”和“\n”)在联机表单中跳过相应的Forms 可提交的在线表单如何识别(\t)&;(\n)分隔符和跳过(<;输入>';使用“从Excel复制粘贴”时是什么情况?,forms,excel,input,copy-paste,delimiter,Forms,Excel,Input,Copy Paste,Delimiter,[[再次更新]]如果这个问题变得冗长,我很抱歉 我是一名业余程序员,我正在寻找javaScript中语法和功能方面的帮助,这将允许复制的分隔符(如“\t”和“\n”)在联机表单中跳过相应的 我想我现在大约有33%在那里(再说一遍:业余爱好编码员-自学成才) 函数splitInput() { var x=document.forms[“simpleForm02”][“dataInput_0”]。值; var delimiterT=x.split(“\t”); var delimiterN=
我想我现在大约有33%在那里(再说一遍:业余爱好编码员-自学成才)
函数splitInput()
{
var x=document.forms[“simpleForm02”][“dataInput_0”]。值;
var delimiterT=x.split(“\t”);
var delimiterN=x.split(“\n”);
对于(变量i=0;i-1)
{
document.getElementById(“dataInput_”+i).value=(delimiterRT[i]);
}
其他的
对于(变量i=0;i-1)
{
document.getElementById(“数据输入”+(i*3)).value=(delimiterN[i]);
}
}
颜色
模型
数量
这段代码在某种程度上起作用。如果我复制三个并排排列的excel单元格,并将其粘贴到
,则脚本会正确地将三个单元格的内容拆分并粘贴到前三个输入中
但是,脚本中显然存在缺陷,因为它根本无法识别“\n”分隔符。我也知道我在这种情况下有编码问题:将代码相对地应用于所有单元格,而不仅仅是[“dataInput\u 0”]
假设我在Excel表格中有以下数据:
我试图找到这样的功能:如果我复制上面的Excel示例数据,它将覆盖/写入示例
中输入的前6位
对不起,我的话太多了。所以,这个问题已经讨论了大约一个星期了,在这段时间里,我一直在寻找想法和帮助 通过以下代码提供了最有潜力但不是完整解决方案的解决方案:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
</head>
<body>
<script>
function splitInput() {
var x = document.forms["simpleForm02"]["dataInput_0"].value;
if (x.indexOf('\t') > 0) {
var delimiterT = x.split('\t');
for (var i = 0; i < delimiterT.length ; i++)
document.getElementById("dataInput_" + i).value = (delimiterT[i]);
}
else
if (x.indexOf('\n') > 0) {
var delimiterN = x.split('\n');
var j = 0;
for (var i = 0; i < delimiterN.length ; i++) {document.getElementById("dataInput_" + j).value = (delimiterN[i]);
j += 4;
}
}
else
return false;
}
function classFocused() {
var d = document.getElementById("dataInput_0");
d.className = d.className + " InFocus";
}
function classBlured() {
var d = document.getElementById("dataInput_0");
d.className = "inputArea";
}
</script>
<form name="simpleForm02">
<table>
<tr>
<th>Color</th>
<th>Model</th>
<th>Qty</th>
<th>Cost</th>
</tr>
<tr>
<td>
<textarea data-id="0" class="inputArea colorInput" id="dataInput_0" name="colorInput_row_1" onFocus="classFocused();" onBlur="classBlured();" onKeyUp="splitInput();"></textarea>
</td>
<td>
<textarea data-id="1" class="inputArea modelInput" id="dataInput_1" name="modelInput_row_1" onkeyup="" ></textarea></td>
<td>
<textarea data-id="2" class="inputArea qtyInput" id="dataInput_2" name="qtyInput_row_1" onkeyup="" ></textarea></textarea></td>
<td>
<textarea data-id="3" class="inputArea costInput" id="dataInput_3" name="costInput_row_1" onkeyup="" ></textarea></td>
</tr>
<tr>
<td>
<textarea data-id="4" class="inputArea colorInput" id="dataInput_4" name="colorInput_row_2" onkeyup="splitInput()" ></textarea></td>
<td>
<textarea data-id="5" class="inputArea modelInput" id="dataInput_5" name="modelInput_row_2" onkeyup="" ></textarea></td>
<td>
<textarea data-id="6" class="inputArea qtyInput" id="dataInput_6" name="qtyInput_row_2" onkeyup="" ></textarea></td>
<td>
<textarea data-id="7" class="inputArea costInput" id="dataInput_7" name="costInput_row_2" onkeyup="" ></textarea></td>
</tr>
<tr>
<td>
<textarea data-id="8" class="inputArea colorInput" id="dataInput_8" name="colorInput_row_3" onkeyup="splitInput()" ></textarea></td>
<td>
<textarea data-id="9" class="inputArea modelInput" id="dataInput_9" name="modelInput_row_3" onkeyup="" ></textarea></td>
<td>
<textarea data-id="10" class="inputArea qtyInput" id="dataInput_10" name="qtyInput_row_3" onkeyup="" ></textarea></td>
<td>
<textarea data-id="11" class="inputArea costInput" id="dataInput_11" name="costInput_row_3" onkeyup="" ></textarea>
</td>
</tr>
</table>
</form>
</body>
</html>
函数splitInput(){
var x=document.forms[“simpleForm02”][“dataInput_0”]。值;
如果(x.indexOf('\t')>0){
var delimiterT=x.split('\t');
for(变量i=0;i0){
var delimiterN=x.split('\n');
var j=0;
对于(var i=0;i
在上面的textarea示例中,如果存在“\t”分隔符,则进行拆分,并将数据分布在数据的继承长度过程中
此外,在上面的文本区域示例中,如果存在“\n”分隔符,则会进行拆分,并将数据垂直分布在数据的继承长度上。语句:“j+=4”实质上是表单中的列数
尽管我仍然需要它跨所有文本区域输入工作,而不仅仅是标识为[“dataInput_0”]的输入。jQuery$(这个)标识符可能是什么
此外,编码是有限的,因为如果复制并粘贴同时包含\t和\n的单元格,则代码不起作用
但这是一个正确的步骤。
我想我也可以考虑和“改变”JavaScript命令在<代码> <代码>中。<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
</head>
<body>
<script>
function splitInput() {
var x = document.forms["simpleForm02"]["dataInput_0"].value;
if (x.indexOf('\t') > 0) {
var delimiterT = x.split('\t');
for (var i = 0; i < delimiterT.length ; i++)
document.getElementById("dataInput_" + i).value = (delimiterT[i]);
}
else
if (x.indexOf('\n') > 0) {
var delimiterN = x.split('\n');
var j = 0;
for (var i = 0; i < delimiterN.length ; i++) {document.getElementById("dataInput_" + j).value = (delimiterN[i]);
j += 4;
}
}
else
return false;
}
function classFocused() {
var d = document.getElementById("dataInput_0");
d.className = d.className + " InFocus";
}
function classBlured() {
var d = document.getElementById("dataInput_0");
d.className = "inputArea";
}
</script>
<form name="simpleForm02">
<table>
<tr>
<th>Color</th>
<th>Model</th>
<th>Qty</th>
<th>Cost</th>
</tr>
<tr>
<td>
<textarea data-id="0" class="inputArea colorInput" id="dataInput_0" name="colorInput_row_1" onFocus="classFocused();" onBlur="classBlured();" onKeyUp="splitInput();"></textarea>
</td>
<td>
<textarea data-id="1" class="inputArea modelInput" id="dataInput_1" name="modelInput_row_1" onkeyup="" ></textarea></td>
<td>
<textarea data-id="2" class="inputArea qtyInput" id="dataInput_2" name="qtyInput_row_1" onkeyup="" ></textarea></textarea></td>
<td>
<textarea data-id="3" class="inputArea costInput" id="dataInput_3" name="costInput_row_1" onkeyup="" ></textarea></td>
</tr>
<tr>
<td>
<textarea data-id="4" class="inputArea colorInput" id="dataInput_4" name="colorInput_row_2" onkeyup="splitInput()" ></textarea></td>
<td>
<textarea data-id="5" class="inputArea modelInput" id="dataInput_5" name="modelInput_row_2" onkeyup="" ></textarea></td>
<td>
<textarea data-id="6" class="inputArea qtyInput" id="dataInput_6" name="qtyInput_row_2" onkeyup="" ></textarea></td>
<td>
<textarea data-id="7" class="inputArea costInput" id="dataInput_7" name="costInput_row_2" onkeyup="" ></textarea></td>
</tr>
<tr>
<td>
<textarea data-id="8" class="inputArea colorInput" id="dataInput_8" name="colorInput_row_3" onkeyup="splitInput()" ></textarea></td>
<td>
<textarea data-id="9" class="inputArea modelInput" id="dataInput_9" name="modelInput_row_3" onkeyup="" ></textarea></td>
<td>
<textarea data-id="10" class="inputArea qtyInput" id="dataInput_10" name="qtyInput_row_3" onkeyup="" ></textarea></td>
<td>
<textarea data-id="11" class="inputArea costInput" id="dataInput_11" name="costInput_row_3" onkeyup="" ></textarea>
</td>
</tr>
</table>
</form>
</body>
</html>