【发布时间】:2013-05-24 15:37:46
【问题描述】:
我在使用 jQuery 制作表单时遇到了一些小问题。我会尽量解释清楚。
我有一个按钮,当它被点击时,它会生成一个新的输入。我已经使用 jQuery 成功完成了这项工作,将输入命名为:image-1、image-2 等。 问题是,当我提交表单时,使用 jQuery 添加的输入无法被抓取输入值的页面识别,并显示“未定义变量“image-X”。
我真的不知道为什么,因为我已经这样做了,以前完全一样并且工作过,但现在不行了。
希望你能帮我解决这个问题!
谢谢大家
抱歉,忘记添加代码了!
这就是我所拥有的: HTML
<form method="post" action="update.php?IdMant='.$mant.'" enctype="multipart/form-data">
<input type="hidden" name="id" value="'.$id.'" />
<tr>
<td align="right"><span id="ai">Insert Image</span></td>
</tr>
<tr>
<td id="images">
<label>Image:</label><input type="file" name="image-1" /> Order:<input type="text" name="order-1" size="2"/>
<div class="clear"></div>
</td>
</tr>
<tr>
<input type="hidden" name="numImages" value="1" id="numImages" />
<td><input type="submit" value="Upload Image/s"></td>
</tr>
</form>
jQuery 代码:
var i = 2;
var n = 2;
$(document).ready(function() {
$("#ai").click(function() {
$("#images").append("<label>Image:</label><input type='file' name='image-"+i+"' /> Order:<input type='text' name='order-"+i+"' size='2' /><div class='clear'></div>");
$("#numImages").val(n);
n++;
i++;
});
});
所有这些方法都可以正常工作,现在是 PhP 代码:
for($i = 1; $i <= $_POST['numImages']; $i++) {
if(!empty($_FILES['image-'.$i]['name'])) {
$name = $_FILES['image-'.$i]['name'];
$type = $_FILES['image-'.$i]['type'];
$folder = "img/";
$folder = $folder.$name;
if($type == "jpeg" || $type == "jpg" || $type == "gif" || $type == "png") {
if(!move_uploaded_file($_FILES['image-'.$i]['tmp_name'], $folder)) {
$error .= "Error ocurred with ".$name." file<br />";
}
else {
insert_image_to_db($_POST['id'], $folder, $_POST['order-'.$i]);
}
}
else {
$error .= "Type of image <b>".$name."</b> incorrect.<br />";
}
}
}
【问题讨论】:
-
没有水晶球很难分辨。显示一些东西
-
你能发布你的 HTML 代码吗?
-
您是否使用某种框架在服务器端创建表单?您是否在 中添加输入元素?
-
请在 jsfiddle 或此处发布您的代码
-
@CyberKnight 为什么不在jsbin.com 上?更容易,更快。 这里绝对是。