我有一個代碼,允許通過點擊一個按鈕時隱藏/顯示的輸入來編輯一個字段。它工作正常,但它只在本地更改頁面上的數據(沒有更新到我的數據庫,這意味着當用戶編輯他們的配置文件時,它保存在數據庫中)。我知道如何使用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);
});
,我學會了如何從這裏tutorial提交表單,而不刷新。我不確定如何將它們結合起來以達到我想要的效果,但我不確定這是否是解決問題的正確方法。有沒有辦法採取showNew
變量,並提交它作爲一個職位沒有用戶點擊提交按鈕(可能觸發當用戶點擊保存)?
我是jquery和web編程的超級新手,所以很抱歉如果我沒有解釋這個權利。如果它幫助這裏是與上面的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>
我很難理解你的問題。如果我假定在按下按鈕(即就地編輯)時切換到輸入字段的普通文本,然後通過AJAX(無頁面刷新)將新值發佈到服務器,然後更新就地文本? – 2012-07-11 17:04:02
@RasmusFranke是的,這就是我想要做的。我希望用戶能夠通過點擊每個字段旁邊的編輯按鈕來更新他們的個人資料字段。一旦他們點擊編輯按鈕,就會出現一個文本輸入和保存按鈕,允許他們修改該字段,當他們點擊保存時,它會更新頁面併發送一個發佈請求,以便我可以更新數據庫。 – Lostsoul 2012-07-11 17:18:49