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

时间:2015-03-28 23:23:37

标签: javascript php

所以我有一个表格所在的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_competition.js中的变量会变大1。

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

我尝试在create_competition.js

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

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

2 个答案:

答案 0 :(得分:1)

您的功能中存在拼写错误。您正在警告 nrField 并在 s 附加 nrFields

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

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

然后在PHP中

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

答案 1 :(得分:0)

当你点击&#34;添加&#34;按钮它创建一个字段,其名称如下:

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

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

然后,服务器端:

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

如果你想确保你可以在$_POST['data']上迭代一个数组,并删除空值或无效值......