我在我的页面上有一个textarea输入,我想用AJAX发布到服务器。 AJAX调用很好,但是,它不会看到textarea中的值。Ajax没有看到textarea值
我的HTML:
<div class="promptBody">
<div id="promptText" onclick="replaceWithInput(this)">
<p class="promptBody"><div id="prompty">{{prompt.prompt|linebreaks}}</div></p>
</div>
<form id="promptUpdateForm">
<div id="promptInput">
<p><textarea class="input" cols="40" id="id_prompt" name="prompt" placeholder="Prompt" rows="10"></textarea></p>
<p><input class="submit" type="submit" name="submit" id="submit" value="Edit Prompt" /></p>
</div>
</form>
</div>
<script type="text/javascript">
$(document).ready(function() {
$(document).on('submit', '#promptUpdateForm', function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: '/apps/litprompt/a/{{prompt.id}}/update/',
data: {
'prompt': $('#id_prompt').val(),
csrfmiddlewaretoken: $('input[name="csrfmiddlewaretoken"]').val(),
},
success: function(json) {
$('#promptText').html(json.prompt_data);
var promptText = document.getElementById('promptText');
var promptInput = document.getElementById('promptInput');
promptText.style.display = 'block';
promptInput.style.display = 'none';
}
});
});
});
</script>
如果我更改了数据我Ajax代码为 '提示': '胡说',它工作得很好。但每次我发布'提示':$('#id_prompt')。val(),它是一个空值。
你忘了关textarea的,他们都没有自我封闭,而且需要''关闭标签 – adeneo
很抱歉的混乱,我忘了当我重新格式化该问题的代码,但它在实际的代码中,它仍然无法正常工作。我重新格式化了这个问题来纠正这个问题。 –