我有一个错误,我不知道...
我的网页有一种形式,用户有能力添加一些新的输入字段。如果用户提交表单,那么在php文件交付时可选字段为空,为什么?
HTML:
<form method="post" action="newRequest.php">
<input type="text" name="title" />
<input type="hidden" name="fname" value="0" />
<input type="checkbox" name="fname" value="1"/>
<input type="hidden" name="ename" value="0" />
<input type="checkbox" name="ename" value="1" />
<input type="hidden" name="seat" value="0" />
<input type="checkbox" name="seat" value="1" />
<input type="hidden" name="fields" value="0" />
<input type="text" id="fields" name="fields" />
<input type="submit" />
</form>
PHP:
if (strlen($_POST[title]) > 2) {
$toDb[title] = $_POST[title];
} else {
error('title');
}
$toDb[fname] = $_POST[fname];
$toDb[ename] = $_POST[ename];
$toDb[seat] = $_POST[seat];
if ($_POST[fields] > 0) {
$i = 0;
while ($i < $_POST[fields]) {
$toDb[optional][$i] = $_POST[optional-$i];
$i++;
}
$toDb[optional] = serialize($toDb[optional]);
} else {
$toDb[optional] = 0;
}
newEvent($toDb,$dbh);
JQuery的,它是将动力场:
$(document).ready(function() {
$('#fields').focusout(function(){
var fields = $('#fields').val();
var i = 0;
while(i < fields) {
$('#fields').after("Valfritt fält "+(i+1)+":<input type='text' name='optional"+i+"' />");
i++;
}
})
})
这是你如何使用散列数组:'$ foo [“bar”] = $ _POST [“bar”];',应该引用字符串索引。 – HamZa 2013-03-20 13:33:19
所有的字段名称都有重复;当第一个被PHP解析时,第一个被第二个覆盖。 – 2013-03-20 13:34:56
重复是因为第一个是设置一个默认值发送到PHP,如果用户离开字段为空。 – theva 2013-03-20 13:37:33