最初のスクリプトは、クリックするとテキストを編集可能なテキスト フィールドに変換します。テキストが編集された後、2 番目のスクリプトをアクティブにする送信ボタンが押されます。2 番目のスクリプトは、AJAX を介して別のページに情報を送信し、最終的にデータベースに送信する必要があります。最初の 2 つの変数 (projectID と contactType) は AJAX を介して問題なく送信されますが、updatedInfo (編集されたテキストが含まれているはずの変数) は常に空白です。私が見逃しているのはばかげていると思いますが、理解できません。2 つのスクリプトを以下に示します。
<script type="text/javascript">
$(document).ready(function() {
var alreadyActive = "";
$(".editable").on("click", function () {
if(!alreadyActive) {
OriginalText = $(this).text();
divValue = $(this).attr('value');
$(this).html("<form class='edit-form' name='" + divValue + "'><input type='text' value='" + OriginalText + "' /><input type='submit' value='Update' /></form>");
alreadyActive = "true";
}
});
});
</script>
<script type="text/javascript">
$('body').delegate('.edit-form','submit',function(e){
e.preventDefault();
var projectID = <?php echo $projectID ?>;
var contactType = $(this).attr('name');
var updatedInfo = $(this).val();
$.ajax({
url: 'editinplace.php?projectID=' + projectID + '&contactType=' + contactType + '&updatedInfo=' + updatedInfo,
});
});
</script>