私は以下のhtmlを持っています。それを見てください私は一緒に行くときに問題を説明します。私はここで達成しようとしています何新しく形成された要素内のjavascriptオブジェクトへのhtmlフォーム入力のマッピング
<table>
<tbody>
<tr id="<?php echo $record['id']?>" style="...">
<td><?php echo $record['id']; ?></td>
<td><?php echo $record['url']; ?></td>
<td><input type="button" name="edit" value="Edit" onclick="edit(<?php echo ($record['id'])?>)"></td>
</tr>
</tbody>
</table>
は、私は、「編集」ボタンをクリックしたとき、それはそのフィールドをクリアしていることで、これらの詳細を再度入力することができ、その場所にし、編集の代わりに新しい空のフィールドを作成しますボタンを押すと、更新ボタンが表示されます。
<script>
function edit(id){
var element = document.getElementById(id);
$(element).empty();
$(element).append("<td><input name='id' value="+id+" disabled></td>" +
"<td><input type='text' name='url' ></td>" +
"<td><input type='text' name='title'></td>" +
"<td><input type='button' value='Update' onclick='testFunction()'></td>");
}
更新ボタンをtestFunctionと呼ばれる機能を起動:
これは、編集機能は次のようになります。このtestFunctionでは、jQueryで作成した新しいフォームに新しい値を送信して、これらの値をMySQLに送信できるようにして、タイトルの新しい値が特定のIDに対して更新されるようにします。
コードを見て、これを解決する方法を教えてください。
var testFunction = function(newID){
console.log("This is the NEW id of the object that we are changing----->");
console.log(newID);
console.log("--------------------------END------------------");
$.post("update", { id: newID})
.done(function() {
document.getElementById(id).style.display = "none";
});
};
</script>
だから私はあなたの場合の問題点は、あなたがjQueryを使って動的に作成されている要素を選択することができないということであることを正しく理解していますか? – Artley
@Artley ..問題は、新しい要素のキー値を、新しいjQuery要素の1つとして作成したボタンを使用して起動する新しい関数に送信できないことです。 –
あなたはpostメソッドをチェックしてください - それはid:idを探しています。私が見ることができるように、それはid:newIDですか? – Artley