【问题标题】:How to add values from multiple HTML forms to one array to send如何将多个 HTML 表单中的值添加到一个数组以发送
【发布时间】:2014-07-13 14:29:48
【问题描述】:

我正在构建一个移动网络应用程序,员工可以使用它提交给定一周的工作时间。该表单显示 7 个表单(每个表单代表一天),并由一个 php 循环函数构建,该函数运行一个包含一周信息的数组。每一天都是不同的形式。

我不能将所有的日子合二为一,因为我需要允许员工自己添加字段到每一天(div 中的表单),以添加他们在工作时执行的活动。

看起来像这样:

如果我将所有日期合并到一个表单中,每次您在某一天添加​​一个字段时,它都会将该字段添加到第一天(而您可能在最后一天需要它)。

问题

我需要使用一个按钮提交整个星期。我已经看过像

这样的 javascript 方法
document.getElementById("form1").submit();
document.getElementById("form2").submit();

但这不能正常工作。谁能给我一个方向或一些代码来帮助我解决这个问题?任何帮助将不胜感激!

【问题讨论】:

    标签: javascript php html forms


    【解决方案1】:

    你不能只用一种形式来实现吗?

    HTML

    <form>
        <fieldset>
            <!-- all your fields for the day -->
            <legend>Monday</legend>
        </fieldset>
    
        <fieldset>
            <!-- all your fields for the day -->
            <legend>Tuesday</legend>
        </fieldset>
        <!-- ... -->
    
        <input type="submit" />        
    </form>
    

    【讨论】:

    • 非常感谢!这确实将我推向了正确的方向:我现在可以为每一天添加字段,并且仍然可以使用一个按钮检索所有天。不幸的是,这个解决方案有一个问题:即使我可以每天添加字段,它也只会将第一天的字段发送到我的下一页。你知道如何解决这个问题吗?
    • 如果没有看到您的 HTML / Javascript,我真的无法判断。我假设你有:&lt;input type="text" name="fieldname[]" /&gt; ?
    • 不幸的是,我不是 javascript 专家。老实说,您实际上可能会将此作为新问题的新问题提出,并将其标记为 javascript 和 php。您的原始问题已得到解答,这个问题是单独的:)
    【解决方案2】:

    查看您添加到问题中的标签,我假设您在服务器端使用 PHP。在这种情况下,我会为您的输入字段名称使用数组:

    <form method="post">
        <fieldset>
            <legend>Maandag</legend>
            <input type="text" name="days[maandag][verantwoording][klant][]"><br>
            <input type="text" name="days[maandag][verantwoording][klant][]"><br>
            <input type="text" name="days[maandag][verantwoording][klant][]">
        </fieldset>
        <fieldset>
            <legend>Dinsdag</legend>
            <input type="text" name="days[dinsdag][verantwoording][klant][]"><br>
            <input type="text" name="days[dinsdag][verantwoording][klant][]"><br>
            <input type="text" name="days[dinsdag][verantwoording][klant][]">
        </fieldset>
        <button type="submit">
    </form>
    

    然后很容易访问 PHP 中的所有字段,因为 PHP 将为每个 [] 添加一个(从零开始的)索引:

    <?php
    
    echo $_POST['days']['maandag']['verantwoording']['klant'][0];
    echo $_POST['days']['maandag']['verantwoording']['klant'][1];
    echo $_POST['days']['maandag']['verantwoording']['klant'][2];
    

    另见the documentation on HTML forms

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-29
      • 1970-01-01
      • 2014-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      相关资源
      最近更新 更多