我在我的HTML文件中有这个PHP代码.我需要使用这些表单更新数据库表.
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo '<img class="plan1" id="'.$row["imageID"].'" style="position:absolute; top:'.$row["top"].'px; left:'.$row["left"].'px;" src="'.$row["url"].'" width="'.$row["width"].'" height="'.$row["height"].'" />';
echo '<form action="saveimage3.PHP" method="post" id="form1">';
echo '<input type="hidden" name="planid" value="'.$row["planID"].'"/>';
echo '<input type="hidden" name="version" value="1'.$row["version"].'"/>';
echo '<input type="hidden" name="imageid" value="'.$row["imageID"].'"/>';
echo '<input type="hidden" name="url" value="'.$row["url"].'"/>';
echo '<input type="hidden" name="left" id="l'.$row["imageID"].'" value="'.$row["left"].'"/>';
echo '<input type="hidden" name="top" id="t'.$row["imageID"].'" value="'.$row["top"].'"/>';
echo '<input type="hidden" name="width" id="w'.$row["imageID"].'" value="'.$row["width"].'"/>';
echo '<input type="hidden" name="height" id="h'.$row["imageID"].'" value="'.$row["height"].'"/>';
echo '</form>';
}
}
这将根据来自数据库的数据创建多个表单.
<script>
function validate(form){
//get form id
var formID = form.id;
var formDetails = $('#'+formID);
$.ajax({
type: "POST",
url: 'saveimage3.PHP',
data: formDetails.serialize(),
success: function (data) {
// log result
console.log(data);
//for closing popup
location.reload();
window.close()
},
error: function(jqXHR, text, error){
// displaying if there are any errors
console.log(error);
}
});
return false;
}
//this function will create loop for all forms in page
function submitAll(){
for(var i=0, n=document.forms.length; i<n; i++){
validate(document.forms[i]);
}
}
</script>
我有这个按钮
<button onclick="submitAll()">Save Version</button>
通过使用这些提交,数据库仅更新第一个表单数据.其他表单不会将数据发送到PHP文件.如何将所有表单放入PHP文件?
解决方法:
也许是因为location.reload();你从第一个表单处理程序和页面重新加载得到答案,并打破验证循环,所以其他形式dotn得到发布?
AND – 您需要将表单ID更改为唯一!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。