我的代码允许通过单击按钮时隐藏/显示的输入来编辑字段。它工作正常,但它只在本地更改页面上的数据(没有更新我的数据库。这意味着当用户编辑他们的个人资料时,它保存在数据库中)。我知道如何使用 jquery 在不刷新的情况下提交表单,但我不明白如何将两者结合起来,以便有人可以编辑一个字段(就地),然后当他们点击完成时提交它而不刷新(如 facebook)。
问题是使用“编辑”按钮下方的代码(这只是一个锚点)变成“保存”按钮然后回到“编辑”。我以为我要提交字段,我需要按钮作为提交按钮吗?
这是我用来进行就地编辑的代码:
$('#editvalue').click(function(e){$('#storedvalue').hide();$('#altervalue').show();});
$('#savevalue').click(function(e){
var showNew = $('#changevalue').val();
$('#altervalue').hide();
$('#storedvalue').show();
$('#storedvalue span').text(showNew);
});
我从这里的教程中学习了如何在不刷新的情况下提交表单。我不确定如何将它们组合起来以获得我想要的效果,但我不确定这是否是解决问题的正确方法。有没有办法获取showNew
变量并将其作为帖子提交而无需用户单击提交按钮(可能在用户单击保存时触发)?
我对 jquery 和网络编程非常陌生,如果我没有正确解释这一点,我很抱歉。如果它有帮助,这里是与上面的 js 代码一起使用的 html:PHP jQuery 示例:
<div id="wrapper">
<div id="container">
<div id="storedvalue"><span>Hello</span> [<a href="javascript:void(0);" id="editvalue">edit</a>]</div>
<div id="altervalue" style="display:none;"><input type="text" name="changevalue" id="changevalue" value="Hello"> [<a href="javascript:void(0);" id="savevalue">save</a>]</div>
</div>
</div>