当前位置: 首页 > 面试题库 >

如何使用异步通信将表单数据发送到test.html?

澹台阳秋
2023-03-14
问题内容

我想使用异步通信将表单数据发送到test.html。我在index.html中写的

<body>
   <form method="post" action="">
    <select id="mainDD" data-placeholder="Choose" class="chzn-select" style="width:600px;">
    {% for i in json_data.items.values %}
            <option value="{{forloop.counter}}">{{ i }}</option>
    {% endfor %}
    </select>

    {% for key, values in preprocessed %}
    <select name="type" id=type{{forloop.counter}}>
    {% for counter, value in values %}
        <option value="{{forloop.counter}}">{{ value }}</option>
    {% endfor %}
    </select>
    {% endfor %}
    </form>

  <script type="text/javascript">

        $(document).ready(function () {
            $('#mainDD').on('change', function() {
              var thisType = "type" + $(this).val();
              for(i=1; i<6; i++) {
                  var thisId = "type" + i;
                  if(thisType !== thisId) {
                    $("#"+thisId).hide();
                  }
                  else {
                    $("#"+thisId).show();
                  }
              }

            }).trigger('change');

        });


  </script>

     <form id="postform" action="http://localhost:8000/app/test_view" method="POST">
      {% csrf_token %}
      <input type="submit" value="SEND">
     </form>
     <script type="text/javascript">
            $('[name=type]').change(function() {
            var array1 = [];
            var array2 =[];
                $('[name=main] option:selected').each(function() {
                array1 = $(this).text();
                console.log(array1);
            });

                $('[name=type] option:selected').each(function() {
                array2 = $(this).text();
                console.log(array2);
            });
        });
        $.ajax({
            url: 'test.html',
            dataType: 'html',
            timeout:3000,
            async: true,
            success: function(html) {
                $('.newsarea').html(html).fadeIn(5000);
            },
            error: function() {
                alert('Error');
            }
        });
     </script>
  </body>

我想将选定的i和value的变量发送到test.html。现在,当我按下发送按钮时,test.html中什么也没有显示。我写了test.html像

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>RESULT</title>
</head>
<body>

<h2>TOPIC</h2>
<div class="newsarea">
</div>

</body>
</html>

我想在此位置显示选定的i和值的值。我的代码有什么问题?如何解决?


问题答案:

如果document源与原始源相同,document并且已通过用户操作打开,则可以将参数作为查询字符串传递。

  document.querySelector("input[type=button]").onclick = e => {
    // pass key, value pairs to `test.html`
    const test = window.open(`test.html?${key}=${value}`, "_blank");
  }

在打开window获取并解析location.search

  onload = () => {
    // do stuff with key, value pairs passed from `window.opener`
    console.log([...new URLSearchParams(location.search).entries()])
  }

plnkr
http://plnkr.co/edit/MlCQZpkfBXFwxdR6gz5x?p=preview



 类似资料:
  • 问题内容: 我有这样的表格: 我想异步发送这些数据,使用jQuery函数。 编辑:与解决方案: 问题答案: 看到: jQuery文档:发布 jQuery文档:序列化

  • 问题内容: 我想以ajax的形式发送所有输入。我有这样的形式。 在.js文件中,我们有以下代码: 但这不起作用。我不想使用Form数据。 问题答案: 只要我们要发送具有名称属性的所有表单输入字段,就可以对所有表单执行此操作,而与字段名称无关: 第一个解决方案 第二个解决方案 :在此解决方案中,您可以创建一个输入值数组:

  • 问题内容: 朋友,我想在JAVA中连接数据并将其传输到COM PORT(虚拟或原始)吗? 问题答案: 引用一些。 我个人从推荐的SerialPort http://serialio.com - 它不是免费的,但它是非常值得的开发商(无稿费)牌费,任何商业项目 。可悲的是,它不再是免版税的,SerialIO.com似乎已重新成为硬件销售商。我不得不在SerialPort上搜索信息。 从个人经验来看,

  • 我如何发送表单数据作为‘文本’通过放心,请参阅截图。当我使用request.multipart(“key”.“value”)时,请求是作为文件发送的(参考屏幕截图)。蒂娅。

  • 我曾经能够做到这一点,但我正在努力应对0.3的期货。 下面是我从WebSocket获得的一个sink和stream: 我创建了一个在异步tokio任务之间通信的无界通道: 这是我被卡住的部分。我生成了一个异步任务,它应该连接无界接收器和接收器;我的想法是通过< code>unbounded_sender发送消息: 对于<code>send_all</code>,错误消息显示: 而且 而且 查看文档

  • 问题内容: 所以我有这个HTML表单: 当用户单击“提交”时,哪种形式最简单的方法将此表单的数据作为JSON对象发送到我的服务器? 更新:我已经走了这么远,但似乎没有用: 我究竟做错了什么? 问题答案: 获取完整的表单数据作为数组,并对其进行json字符串化。 您可以稍后在ajax中使用它。或者,如果您不使用ajax;将其放在隐藏的文本区域中并传递到服务器。如果此数据通过常规格式数据作为json字