ユーザーが少しのテキストでdiv要素をクリックし、編集後にクリックするテキストボックスとグラフィックに置き換えることができるスクリプトを作成しようとしています。グラフィックをクリックすると、テキストボックスとグラフィックが新しく編集されたテキストのビットに置き換えられます。h1h1divh1
関数は次のとおりです。
function savename() {
var s = $('#mytextbox').val();
$('#mydiv').replaceWith('<div id="mydiv" onclick="editname();"><h1>' + s + '</h1></div>');
}
function editname() {
var strName = $('#mydiv').text();
$('#mydiv').replaceWith($('<div id="mydiv"><input id="mytextbox" name="mytextbox" type="text" value="' + strName + '"><img id="mysavebutton" src="images/save.gif" onclick="savename();"></div>'));
}
そして、ここにdivがあります:
<div id="mydiv" onclick="editname();"><h1>Some text I want to edit</h1></div>
したがって、divクリック機能は正常に機能します。h1要素をテキストボックスに置き換えます。グラフィックの保存をクリックすると、それも正常に機能し、h1. 問題は、テキストボックスの値がh1'd テキストであると想定されていることです。その部分は機能していません。旧値のままです。「s」に設定した後にアラートを設定しましたが.val()、編集後も古い値が表示されます。シンプルなものが欠けているように感じますが、一日中それと戦ってきたので、それを見てくれる新鮮な目が必要です. 前もって感謝します。