我在数据库中有一组记录,并将它们列成行。每一行都必须是唯一的元素id,所以我实现了如下,这是在主循环内部。
#right<?php echo $row['Id']; ?> {
display: inline-block;
width:250px;
float:left;
text-align: left;
height:auto;
font-family:Arial;
font-size: 12px;
text-decoration: none;
}
因此,每条记录都有自己的 css,如上所述。
我在每行上都有一个提交表单按钮,它也使用唯一的,所以每个表单都有自己的名称。<?php echo $row['Id']; ?>
我提交表单并使用ajax重新加载当前的div,以便它随着行状态的变化而改变颜色。
我遇到的问题是,一旦我提交了一次此表单,它将不再提交第二次而不加载整个页面,我假设这与元素id有关?
这是阿贾克斯
<script>
$(document).ready(function() {
$("#submit<?php echo $row['Id']; ?>").submit(function() {
var frm = $('#submit<?php echo $row['Id']; ?>');
$.ajax({
type: frm.attr('method'),
url: 'Update.php',
data: frm.serialize(),
success: function (data) {
$('#right<?php echo $row['Id']?>').load(' #right<?php echo $row['Id']?> ',function(){
$("#image<?php echo $row['Id']; ?>").show(); }
) ;
}, error: function(jqXHR, textStatus, errorThrown){
console.log(" The following error occured: "+ textStatus, errorThrown );
} });
return false;
});
});
</script>
这似乎完全工作正常,我第一次提交div重新加载并按预期,当你第二次点击它时。
我这样做是完全错误的方式吗?
我知道我可以在重新加载的divs之外执行提交按钮,然后它继续工作,但想重新加载整个div,以便我可以将按钮更改为其他选项等。
任何帮助将不胜感激。
这是 html/php
<div id="right<?php echo $row['Id']; ?>">
<form id="submit<?php echo $row['Id']; ?>" method="post" autocomplete="off">
<input type="hidden" value="<?php echo $row['Id']?>" name="id">
<input class="input-2" type="text" name="returnid" value="<?php echo $row['returnID']; ?>">
<input type="submit" name="submit-form" class="buttonSubmitHide" />
</form>
</div>
一只甜甜圈
www说
相关分类