【问题标题】:Javascript array how do i do a function for each line in arrayJavascript数组我如何为数组中的每一行做一个函数
【发布时间】:2014-03-11 05:05:51
【问题描述】:

好的,这是我当前的脚本

<html>
<head>


    <script type="text/javascript">
        function textareaToArray(t){
        return t.value.split(/[\n\r]+/);
        }
        function showArray(msg){
        document.getElementById("message").innerHTML = msg.join("&#013;");
        }
    </script>


    </head>
        <title>
        Welcome To ....
        </title>
<body>
        <center>
        <h1> WELCOME TO .... </h1></center>

    </br>
    </br>
    </br>

<center>

        <form>
        <textarea rows="10" cols="60" name="alpha"></textarea>
        <br>
        <input type="button"
        value="show array"
        onclick="showArray(textareaToArray(this.form.alpha ))">
        </form>
</center>
    </br>
<center>
        <textarea id="message" rows="6" cols="60" name="message"></textarea>
</center>
</body>
</html>

如您所见,javascript 函数基本上只是将数组输出到第二个文本区域。

如何为数组中的每一行调用一个函数

例如

使用数组中的行发布到 php 脚本作为发布数据的函数,然后在此之后将结果回显它对下一行执行相同的操作,任何人都可以帮助我了解如何将每一行发布到 php 脚本并回显响应返回到文本区域

【问题讨论】:

  • 请使用缩进。没有人会读到。
  • 只是为了修正你的语义,数组中没有“行”,数组是包含元素的对象,你应该问的是“我如何遍历数组”。跨度>

标签: javascript php arrays


【解决方案1】:

我重新编写了您的整个示例,还修复了您的 html 中的一些其他小错误。

<html><head><title>Welcome To ....</title>
    <script type="text/javascript">
        function textareaToArray(t){
            return t.value.split(/[\n\r]+/);
        }
        function showArray(msg){
            for(i = 0; i < msg.length; i++) {
                // something per item
                alert(msg[i]);
            }
            // the old code
            document.getElementById("message").innerHTML = msg.join("&#013;");
        }
    </script>
</head>
<body>
    <h1> WELCOME TO .... </h1>
    <form>
    <textarea rows="10" cols="60" name="alpha"></textarea>
    <br>
    <input type="button" value="show array" onclick="showArray(textareaToArray(this.form.alpha ))">
    </form>
    <br>
    <textarea id="message" rows="6" cols="60" name="message"></textarea>
</body></html>

“警报”发生的地方是您可以为数组中的每个项目添加代码的地方。现在警告,没有输入检查..这段代码非常不安全,如果你允许从文本区域传递东西,这绝对是 XSS 攻击的向量。

【讨论】:

    【解决方案2】:

    正确答案是: for (var i = 0; i < array.length; i++) alert(array[i])

    【讨论】:

    • 不要使用for...in 循环遍历数组。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多