Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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
Forms 可提交的在线表单如何识别(\t)&;(\n)分隔符和跳过(<;输入>';使用“从Excel复制粘贴”时是什么情况?_Forms_Excel_Input_Copy Paste_Delimiter - Fatal编程技术网

Forms 可提交的在线表单如何识别(\t)&;(\n)分隔符和跳过(<;输入>';使用“从Excel复制粘贴”时是什么情况?

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=

[[再次更新]]如果这个问题变得冗长,我很抱歉

我是一名业余程序员,我正在寻找javaScript中语法和功能方面的帮助,这将允许复制的分隔符(如“\t”和“\n”)在联机表单中跳过相应的

我想我现在大约有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>