将javascript变量传递到下一个php页面

Passing javascript variable to next php page

本文关键字:下一个 php 页面 javascript 变量      更新时间:2023-09-26

所以我在表单所在的位置有这个php文件。

<head>
<script src="js/create_competition.js" type="text/javascript"></script>
</head>
<body>
<form id='create-competition' action='create_competition_action.php' method='post' accept-charset='UTF-8'>
    <div id="main">
    <input type="button" id="addButton" value="Add" class="bt" />
    </div>
    <input type='submit' id='submit' name='Submit' value='Submit' />
</body>

当您按下添加按钮时,页面上会创建一个字段。当你再次按下它时,会创建另一个字段,依此类推。当创建一个字段时,create_competiton.js中的一个变量会变大1。

现在,假设创建了3个字段,按下提交按钮后,我想将该变量(目前为3)传递给create_competition_action.php,这样我就可以使用在那里创建了多少字段的知识。但我不知道该怎么做。

我试着在create_competiton.js 中使用它

$('#submit').click(function(){
      alert(nrFields); // to see if works
      window.location.href = "create_competition_action.php?var=" + nrFields;
    })

警报有效,在按下提交后,我收到了创建了多少字段的警报,但window.location.href没有。但除此之外,我还没有找到任何关于如何做到这一点的好解决方案。

函数中存在拼写错误。您正在向nrField发出警报,并在nrField尾添加s

但是,如果你需要计算迭代次数或类似的东西,你可以使用数组:

 <input type="text" name="values[]" />

然后在PHP 中

 foreach($_POST["values"] as $value) ...

当你点击"添加"按钮时,它会创建一个名称如下的字段:

<input type='text' name='data[]'/>

为每个输入设置相同的名称(data[])。

然后,服务器端:

<?php
$nb_fields = count($_POST['data']);

如果您想确保您可以在$_POST['data']上迭代,因为它是一个数组,并删除空值或无效值。。。