所以我在表单所在的位置有这个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']
上迭代,因为它是一个数组,并删除空值或无效值。。。